如何为 QListIterator 使用声明自定义 typedef
How to use declare custom typedef for QListIterator
我想使用 QListIterator,示例如下:https://doc.qt.io/archives/qt-4.8/qlistiterator.html
我已经为包含 QStringList 的列表声明了 typedef:
typedef QList<QStringList> slstStringList;
我想为上面声明一个迭代器类型,我第一次尝试:
typedef QListIterator<slstStringList> slstIterator;
但是这没有用,在查看我上面发布的 link 时,我将其更改为:
typedef QListIterator<QStringList> slstIterator;
编译器也不喜欢这样,我得到:
error: no matching function for call to 'QListIterator<QStringList>::QListIterator()'
我做错了什么?
这是我尝试同时使用两者的示例:
for( slstIterator it(clsResetCfg::mslstWiFi); it.hasNext(); ) {
QStringList slstDetails = it.next();
...
}
上面的工作和编译正常,错误是在我没有指定静态列表成员的迭代器的静态初始化中,我现在将其更改为:
slstStringList clsResetCfg::mslstWiFi;
slstIterator clsResetCfg::msitWiFi(clsResetCfg::mslstWiFi);
现在世界上一切都好:)
typedef QListIterator<QStringList> slstIterator;
这是正确的,但是您需要在实例化后将对列表本身的引用传递给构造函数:
slsIterator it{myList};
我想使用 QListIterator,示例如下:https://doc.qt.io/archives/qt-4.8/qlistiterator.html
我已经为包含 QStringList 的列表声明了 typedef:
typedef QList<QStringList> slstStringList;
我想为上面声明一个迭代器类型,我第一次尝试:
typedef QListIterator<slstStringList> slstIterator;
但是这没有用,在查看我上面发布的 link 时,我将其更改为:
typedef QListIterator<QStringList> slstIterator;
编译器也不喜欢这样,我得到:
error: no matching function for call to 'QListIterator<QStringList>::QListIterator()'
我做错了什么?
这是我尝试同时使用两者的示例:
for( slstIterator it(clsResetCfg::mslstWiFi); it.hasNext(); ) {
QStringList slstDetails = it.next();
...
}
上面的工作和编译正常,错误是在我没有指定静态列表成员的迭代器的静态初始化中,我现在将其更改为:
slstStringList clsResetCfg::mslstWiFi;
slstIterator clsResetCfg::msitWiFi(clsResetCfg::mslstWiFi);
现在世界上一切都好:)
typedef QListIterator<QStringList> slstIterator;
这是正确的,但是您需要在实例化后将对列表本身的引用传递给构造函数:
slsIterator it{myList};