【发布时间】:2017-12-09 03:04:10
【问题描述】:
necklace 是一个 c 数组,由 std::set<Pearl> 的元素组成,其中 Pearl 是用户定义的类型。
necklace定义如下
std::set<Pearl> necklace[NUM_CIRC] = { };
在此之后,元素将填充Pearl's。
下面的sn-p
for (Pearl &p : necklace[circular_coordinate]) {
p.set_color("white");
}
导致编译错误
“Pearl&”类型的引用初始化无效 'const Pearl' 类型的表达式
如何以非常量方式访问necklace[circular_coordinate]?
【问题讨论】:
-
如果
necklace是一个数组,你应该使用for (Pearl &p : necklace) -
minimal reproducible example:
std::set<int> s; for (int& n : s)(void) n;-> " 错误:将 'int&' 类型的引用绑定到 'const int' 丢弃限定符"
标签: c++ c++11 compiler-errors stl constants