项链定义如下
std::set<Pearl> necklace[NUM_CIRC] = { };
在此之后元素填充珍珠.
以下代码段
for (Pearl &p : necklace[circular_coordinate]) { p.set_color("white");}
导致编译错误
invalID initialization of reference of type ‘Pearl&’ from
Expression of type ‘const Pearl’
如何以非常规方式访问项链[circular_coordinate]?
解决方法 不幸的是,std :: set元素是不可变的.这意味着,您无法通过设计更改它们.其原因与std :: set和std :: map中的不可变键相同 – 更改键可能会导致键之间的顺序发生更改,关联容器不支持.
总结以上是内存溢出为你收集整理的c – 如何通过引用对用户定义对象的类型集(STL)的数组元素进行增强迭代?全部内容,希望文章能够帮你解决c – 如何通过引用对用户定义对象的类型集(STL)的数组元素进行增强迭代?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)