各位大神。请教小弟我为啥不能这样返回指针

各位大神。。请问我为啥不能这样返回指针
Polynomial Polynomial::operator -( const Polynomial &poly ) const
{
int *s;
s = new int[size];
for(int i = 0; i < size; i++)
s[i] = ptr[i] - poly.ptr[i];
return s;
}

------解决方案--------------------
你的返回值是Polynomial,应该是类,而s是int*,显然类型不符啊
------解决方案--------------------
不明白楼主为啥要让operator-返回一个指针,没有任何道理啊
------解决方案--------------------
麻烦把Polynomial类也贴上来~~
------解决方案--------------------
返回值是Polynomial,而不是int*。
------解决方案--------------------
Polynomial Polynomial::operator -( const Polynomial &poly ) const
{
int *s;
s = new int[size];
for(int i = 0; i < size; i++)
s[i] = ptr[i] - poly.ptr[i];
return s;
}
==>
Polynomial Polynomial::operator -( const Polynomial &poly ) const
{
Polynomial t;
int *s;
s = new int[size];
t.ptr=s;
for(int i = 0; i < size; i++)
s[i] = ptr[i] - poly.ptr[i];
return t;
}
这样吗?