C++ 模板名称的使用无效';智能阵列&x27;没有参数列表

C++ 模板名称的使用无效';智能阵列&x27;没有参数列表,c++,class,templates,constructor,C++,Class,Templates,Constructor,因此,标题说明了我在使用类构造函数/析构函数时遇到的问题。这是我的密码: template <class ArrType> class SmartArray{ public: ArrType *elements; // pointer that will point to dynamic array int length(); // function to r

因此,标题说明了我在使用类构造函数/析构函数时遇到的问题。这是我的密码:

    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
模板
类智能阵列{
公众:
ArrType*元素;//指向动态数组的指针
int length();//返回数组长度的函数
SmartArray();//默认构造函数
SmartArray(int arrSize);//初始化数组大小的构造函数
~SmartArray();//析构函数
void resizeArr(int newsize);//调整数组大小的函数
SmartArray(const SmartArray&otherObject);//复制构造函数
下面是默认构造函数:

    SmartArray::SmartArray(){
        arrSize = 0;
        elements = new ArrType[arrSize];
        cout << "Created array using default constructor." << endl;     // letting user know that object was successfully created
    }
SmartArray::SmartArray(){
arrSize=0;
元素=新的ArrType[arrSize];

cout您必须使用
模板
关键字来定义构造函数,并且:

template<class ArrayType>
SmartArray<ArrayType>::SmartArray(){

   // ...
模板
SmartArray.

SmartArray();
应该是
SmartArray();