您好,我仍然想知道为什么我收到此错误消息:
使用课程模板'数组'需要模板参数
标题:
<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引用有关。
感谢。
答案 0 :(得分:6)
在编译器看到Array<T>::
之前,它不知道您正在定义类模板的成员,因此您不能使用inject-class-name Array
作为简写Array<T>
。您需要撰写const Array<T> &
。
你在你的赋值算子中得到了常量。它应该采用const引用并返回非常量引用。
此外,Why can templates only be implemented in the header file?