从'int'无效转换为'Vector *'

时间:2018-05-31 06:51:35

标签: c++ class

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

1 个答案:

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