假设我有:复制构造,为什么在按值函数的返回
class A
{
A(A& foo){ ..... }
A& operator=(const A& p) { }
}
...
A lol;
...
A wow(...)
{
return lol;
}
...
...
A stick;
stick = wow(...);
然后,我将在最后一行得到一个编译错误。但是如果我在'A &'之前加上'const',那就OK了。
我想知道为什么。问题究竟在哪里? 我不明白为什么它应该是const。
语言:C++
我编辑...我认为,改变它的相关性。这给了错误。
您可能想要添加您正在谈论的语言。 – 2010-04-25 07:49:41
C++ ............ – fsdfa 2010-04-25 07:50:19
好吧,现在看起来问题比看起来更复杂一些(几个删除的答案会显示),为什么你不改变你的代码到一些完全可编译的,除了你看到的错误,并陈述你正在使用的确切的编译器版本。上面的代码不能代表你的代码。 Fors先生,'A'中没有什么是'公共'的。) – sbi 2010-04-25 08:24:07