作业帮 > 综合 > 作业

C++left operand must be l-value

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/16 18:38:24
C++left operand must be l-value
#include
class CA
{
public:
double *p;
int n;
public:
CA(int n1)
{n=n1;p=new double[n];}
~CA()
{delete []p;}
CA(CA &t)
{n=t.n;p=t.p;}
double operator[](int i)
{return p[i];}
};
void main()
{
CA t(5);
double sum=0,d;
for(int i=0;i>d;
t[i]=d;
sum+=t[i];
}
CA s(t);
cout
C++left operand must be l-value
operator[]返回的是一个临时变量
改:
double& operator[](int i)
{
return p[i];
}