【发布时间】:2011-08-24 05:27:58
【问题描述】:
我写了一门课
struct opera{
int a,b;
int op;
opera(int a1=0,int b1=0,int op1=-1):a(a1),b(b1),op(op1){}
opera& operator=(opera& tmp){
a=tmp.a;
b=tmp.b;
op=tmp.op;
}
我想将它分配给这样的数组元素:
ans[a][b]= opera(t.a,t.b,i);
为什么编译不成功。
但是这可以工作:
opera tmp=opera(t.a,t.b,i);
ans[a][b]= tmp;
当然,struct opera 不需要显式赋值函数,而且
ans[a][b]= opera(t.a,t.b,i);
可以直接工作。
【问题讨论】:
-
你遇到了什么编译错误?
-
博佩尔松的答案是对的!