我有两个结构体 A和B 需要重载赋值运算符 =,定义的时候只能定义一个。当定义第二个时,就会报错找不到一个结构体的定义。总有一个先定义,另一个无法定义。应该如何定义?
struct A
{
double P[3];
double N[3];
double O[3];
double A[3];
A operator=(B value)
{
for (int i = 0; i < 3; i++)
{
P[i] = value.P[i];
N[i] = value.N[i];
O[i] = value.O[i];
A[i] = value.A[i];
}
return *this;
}
};
struct B
{
double P[3];
double N[3];
double O[3];
double A[3];
double ext[7];
Boperator=(A value)
{
for (int i=0;i<3;i++)
{
P[i] = value.P[i];
N[i] = value.N[i];
O[i] = value.O[i];
A[i] = value.A[i];
}
return *this;
}
};