push_back如何改变其' const参数&'?的值

时间:2017-10-14 15:17:14

标签: c++11 push-back

我不是C ++方面的专家,但这真的吓坏了我...... 我正在研究3D矩阵(>>),并编写过度充电的运算符以使用push_back对其进行操作。

当我在第一个和第二个维度上添加内容时,它运行正常 例如:

建筑和安培; Construction :: operator - =(const Construction& c) .....

... contenu [level] .push_back(c.contenu [level] [depth]); ......没问题!

但是当我创建另一个操作符+ =来操纵最后一个维度时,地狱就会松动

建筑和安培; Construction :: operator + =(const Construction& c) ......

... contenu [level] [depth] .push_back(c.contenu [level] [depth] [width]);

由于一些无法解释的原因,现在,push_back修改了它的参数c.contenu !!! ???它不应该这样做,更不用说const&参数。

由于该指令处于一个循环中,直到它到达c.contenu的末尾,它实际上永远不会,并且永远不会停止。

这就是导致问题的那条线,因为我在指令之前和之后检查了c.contenu,并以某种方式改变了。

我剥了眼睛,两个指令都很相似,我实际上复制了第一个并修改了它,并且没有错字或任何根本不同的东西。

有什么想法吗?

PS:这是我在这里的第一篇文章,很抱歉,如果我不够清楚,但我很感激帮助。

0 个答案:

没有答案