【发布时间】:2017-04-21 01:20:22
【问题描述】:
我正在使用 Microsoft Visual Studios,并且我创建了一个通用类 List_Array。默认构造函数没有问题,但是其他两个(重载的)构造函数正在生成错误。
//List_Array.h
template<typename T>
class List_Array {
private:
int size; ...
T* data;
public:
List_Array<T>::List_Array();
List_Array<T>::List_Array(int);
List_Array<T>::List_Array(const T&, int);
...
};
template<typename T>
List_Array<T>::List_Array() { }
template<typename T>
List_Array<T>::List_Array(int s) {
this->size = s
this->data = new T[s];
}
template<typename T>
List_Array<T>::List_Array(const T& init, int s){
this->size = s;
this->data = new T[s];
for (int i = 0; i < s; i++){
this->data[i] = init;
}
}
我得到一个 C2244 'List_Array::List_Array': 无法将函数定义与现有声明匹配
非常感谢任何帮助!
【问题讨论】:
标签: c++ constructor compiler-errors overloading