class A{
public:
A(int &x):ref(x){};
int &ref;
};
A f(int &a){return A(a);};int main(int argc, char *argv[])
{
int n=1;
f(n).ref=2;//各位师傅这个地方为什么用Dev-C++4.9编译可通过,VC++就不能过?
//是这条指令在两种编译器编译下编译后的汇编代码不一样吗?还是其它原因,请指教
return 0;
}
public:
A(int &x):ref(x){};
int &ref;
};
A f(int &a){return A(a);};int main(int argc, char *argv[])
{
int n=1;
f(n).ref=2;//各位师傅这个地方为什么用Dev-C++4.9编译可通过,VC++就不能过?
//是这条指令在两种编译器编译下编译后的汇编代码不一样吗?还是其它原因,请指教
return 0;
}
最好是用指针去做
A* f(int &a){return new A(a);};