正如Naveen指出的那样,你需要回归*this.
只是一个快速的提示:一种方法来弄清楚有些模糊的编译器错误意味着尝试编译不同的编译器,看看是否有更好的消息.例如,您可以在线使用Comeau.
在这种情况下,它给出:
"ComeauTest.c", line 7: error: initial value of reference to non-const must be an
lvalue
return this;
^
Run Code Online (Sandbox Code Playgroud)
在这种情况下不确定它是否更好 - 但在某些情况下,消息更好.