Qt:VectorIterator qt不是类型

Qt: VectorIterator qt is not type

本文关键字:类型 qt VectorIterator Qt      更新时间:2023-10-16

我需要创建一个QVectorIterator来迭代QStrings的QVector,如下所示:

#include <QString>
#include <QVectorIterator>
#include <QLabel>
#include <QTimer>
class Dice : public QLabel
{
    Q_OBJECT
    private:
        QVector<QString> dice_faces;
        QVectorIterator<QString> it( dice_faces );
        QTimer *timer;
    ...

但是我收到此错误,不明白出了什么问题,还是QVectorIterator无法迭代QString向量?

Dice.h:16: error: 'dice_faces' is not a type
     QVectorIterator<QString> i( dice_faces );
                                 ^
您需要在

构造函数的初始值设定项列表中初始化迭代器

#include <QString>
#include <QVectorIterator>
#include <QLabel>
#include <QTimer>
class Dice : public QLabel
{
    Q_OBJECT
    public:
        Dice(QObject *parent);
    private:
        QVector<QString> dice_faces;
        QVectorIterator<QString> it( dice_faces );
        QTimer *timer;
    // ...

骰子.cpp

// ...
Dice::Dice(QObject *parent)
  : QLabel(parent),
    it(dice_faces)
{
}