模板<类数组

template <typename T> class Array

本文关键字:数组 模板      更新时间:2023-10-16
template <typename T>
class Array
{
public:
    Array(int size) : size(size);
    Array(const Array& right) : Array(right.size);
 virtual ~Array();
T& operator[](int index); 
T& operator[](int index) const;

我在实现这个功能时有问题,你能帮我吗?

很难判断问题出在哪里,但是您没有正确地编写构造函数。初始化列表与构造函数定义一起使用,而不是与构造函数声明一起使用。要么在类定义中包含该定义,例如

Array(int size) : size(size) {}

或者,从类定义中删除初始化列表,并在类下面定义它:

template <typename T>
Array<T>::Array(int size)
: size(size)
{
    // do something...
}