我有QSet<QuadPattern> texture;
,我想修改一個循環中的所有QuadPattern。如何修改QSet的元素?
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
是這樣的:
內嵌無效setCoordinate(常量std :: pair & value){_coordinate = value; }
爲什麼會出現此錯誤?