很难想出一个标题......(我不是以英语为母语的人。)
struct A
{
int value;
A operator+(int i) const
{
A a;
a.value=value+i;
return a;
};
};
int main(){
A a;
a.value=2;
a=a+2;
return 0;
}
此代码按预期编译/工作,但是当我将 a=a+2 更改为 a=2+a 时,它将不再编译。GCC 给了我这个错误:
no match for ”operator+” in ”2 + a”
有没有办法让 2+a 像 a+2 一样工作?