++a = b操作显示没有错误,但a++ = b在编译时显示错误g++.在这些操作之前初始化变量.
虽然这些操作没有实际用途,但我认为它们都应该在编译时发出相同的错误.你怎么看?如果有正当理由请向我解释.提前致谢!:)
PS gcc给出了这两个错误.
让我们看看前/后增量的声明如何(http://en.cppreference.com/w/cpp/language/operator_incdec):
++a: T& operator ++(T& a);
a++: T operator ++(T& a, int);
Run Code Online (Sandbox Code Playgroud)
你得到了答案 - preInc返回引用,因此你可以使用"="运算符覆盖"a"变量.