【发布时间】:2013-01-08 13:57:12
【问题描述】:
我遇到了 qt foreach 和具有多个模板参数的模板的问题。
QVector<Node<T, U> > nodes;
...
[append some data]
...
foreach(const Node<T, U>& node, nodes) {
...
}
我收到此错误:
error: use of undeclared identifier 'Q_FOREACH'
我猜这是由于模板中的,,因为Qt 宏在另一个模板声明中没有检测到它。如何在不使用普通 for 循环或 C++11 的情况下解决此问题?
【问题讨论】:
-
是
Node<T,U>一个qt容器类吗? -
@Zaiborg 是的。我编辑了问题。
-
你试过 typedef 吗?
-
在使用
QVector<QMap<int,int>>时遇到类似问题尝试Node<T,U> node; foreach( node, nodes ) {...}