在我的头文件中,我有
template <typename T>
class Vector {
public:
// constructor and other things
const Vector& operator=(const Vector &rhs);
};
这是我迄今为止尝试过的一个声明
template <typename T> Vector& Vector< T >::operator=( const Vector &rhs )
{
if( this != &rhs )
{
delete [ ] array;
theSize = rhs.size();
theCapacity = rhs.capacity();
array = new T[ capacity() ];
for( int i = 0; i < size(); i++ ){
array[ i ] = rhs.array[ i ];
}
}
return *this;
}
这就是编译器告诉我的
In file included from Vector.h:96,
from main.cpp:2:
Vector.cpp:18: error: expected constructor, destructor, or type conversion before ‘&’ token
make: *** [project1] Error 1
如何正确声明复制构造函数?
注意:这是一个项目,我不能更改标题声明,所以像这样的建议虽然有用,但在这个特定情况下没有帮助。
谢谢你的帮助!