使用类模板需要模板参数

时间:2016-01-22 11:14:13

标签: c++ templates arguments

您好,我仍然想知道为什么我收到此错误消息:

使用课程模板'数组'需要模板参数

标题:

<input type="number" [(ngModel)]="myModel" (keyup)="onBlurMethod()">
<br>
<br> The formatted currency is :
<br> {{myModel | currency:'USD':true:'1.2-2' }}

CPP文件

#ifndef Array_h
#define Array_h


template< typename T>
class Array
{
public:
    Array(int = 5);
    Array( const Array &);

    const Array &operator=(Array &);
    T &operator[](int);
    T operator[](int) const;

    // getters and setters
    int getSize() const;
    void setSize(int);

    ~Array();

private:
    int size;
    T *ptr;

    bool checkRange(int);


};

#endif

问题似乎与返回对象的const引用有关。

感谢。

1 个答案:

答案 0 :(得分:6)

在编译器看到Array<T>::之前,它不知道您正在定义类模板的成员,因此您不能使用inject-class-name Array作为简写Array<T>。您需要撰写const Array<T> &

你在你的赋值算子中得到了常量。它应该采用const引用并返回非常量引用。

此外,Why can templates only be implemented in the header file?