从"int"到"矢量*"的转换无效

invalid conversion from 'int' to 'Vector*'

本文关键字:转换 无效 矢量 int      更新时间:2023-10-16

从'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);
};

你有点太热衷于写星号了。

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;
}