C++left operand must be l-value

问题描述:

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
1个回答 分类:综合 2014-11-01

问题解答:

我来补答
operator[]返回的是一个临时变量
改:
double& operator[](int i)
{
return p[i];
}
 
 
展开全文阅读
剩余:2000
上一页:圆向量