我有QSet<QuadPattern> texture;
并且我想在一个循环中修改所有 QuadPattern。
foreach
不是好的解决方案,因为它会复制。
使用此代码:
QMutableSetIterator<QuadPattern> it(texture); while (it.hasNext()) { it.next(); it.value().setCoordinate(...)); }
我得到一个编译错误:
error: C2662: 'QuadPattern::setCoordinate' : cannot convert 'this' pointer from 'const QuadPattern' to 'QuadPattern &'
Conversion loses qualifiers
功能setCoordinate
是这样的:
内联 void setCoordinate(const std::pair &value) { _coordinate = value; }
为什么会出现这个错误?