从'int'无效转换为'Vector *'
这是我的错误代码:
Vector Vector::operator+(const Vector &s1)
{
Vector *p(size);
for(int i=0;i<size;++i)
{
cout<<"*****"<<endl;
cout<<i<<endl;
p->s[i]=s[i]+s1.s[i];
}
return *p;
}
和我写的课程:
class Vector
{
friend istream &operator>>(istream &in,Vector &s1);
friend ostream &operator<<(ostream &os,const Vector &s1);
private:
int size,*s;
public:
Vector(int sz=0){size=sz;s=new int [size];}
Vector operator+(const Vector &s1);
};
答案 0 :(得分:1)
你有点太热衷于写星号。
Vector Vector::operator+(const Vector &s1)
{
Vector p(size);
for(int i=0;i<size;++i)
{
p.s[i]=s[i]+s1.s[i];
}
return p;
}