пишу класс
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;
Конечно, опере структуры не требуется явная функция присваивания, и
ans[a][b]= opera(t.a,t.b,i);
может работать напрямую.