class cls
{
int x;
public:
cls(int i=-20) { x=i; }
int f() { return x; }
int main()
{
cls a(14);
int b;
b=a.f()++;
cout<<b;
return 0;
}
我在这一行得到“需要左值作为增量操作数” b=a.f()++;
。如果我将其更改为b=++a.f();
我得到相同的错误,但如果我将其更改为b=a.f()+1;
它工作正常。当编译器有前缀++
或后缀++
操作数要做时,它会怎么想?a++
(或++a
)和(比方说 int 类型a=a+1
在哪里)有什么区别?a