所以标题说明了我在使用类构造函数/析构函数时遇到的问题。这是我的代码:
template <class ArrType>
class SmartArray{
public:
ArrType *elements; // pointer that will point to dynamic array
int length(); // function to return array length
SmartArray<ArrType>(); // default constructor
SmartArray(int arrSize); // constructor that initializes array size
~SmartArray(); // destructor
void resizeArr(int newsize); // function that resizes array
SmartArray(const SmartArray& otherObject); // copy constructor
这是默认的构造函数:
SmartArray::SmartArray(){
arrSize = 0;
elements = new ArrType[arrSize];
cout << "Created array using default constructor." << endl; // letting user know that object was successfully created
}
我确实尝试过查找问题,但是这些程序太高级了,我无法理解,或者我太愚蠢了。无论如何,我希望有一个简单的解决办法。
答案 0 :(得分:1)
您必须使用template
关键字来定义构造函数,还需要:
template<class ArrayType>
SmartArray<ArrayType>::SmartArray(){
// ...
P.S。如果您确认已将此构造函数定义放在单独的.cpp
文件中,则不幸的是,您的问题也必须以a duplicate of this question结束。