【发布时间】:2021-09-16 13:59:51
【问题描述】:
我已经搜索但没有找到解决方案;这是家庭作业的一部分,所以更多地寻找提示/解释而不是彻底的解决方案。
问题: 我正在解析文件并将关键元素提取到地图中。我已将标准非常量映射声明为:map
我能够找到元素并打印它,但我似乎无法改变它。它不是一个常数,所以它应该是可编辑的,但也许我使用了错误的函数?
((作为参考,i是行号(19,当前值存储在map中),value_i是一个存储的int变量我试图插入到我的第二个元素中(当前值为0)))
for (auto &el : labels) {
if (el.second == i) {
el.second == value_i;
std::cout << "Label " << el.first << " value changed to: " << el.second << std::endl;
}
输出: 标签n值改为:19
期望的输出: 标签n值改为:0
提前致谢!!
【问题讨论】:
-
一个体面的编译器应该对
el.second == value_i;发出警告。如果没有,那么您需要启用更多警告。