我有一个示例类,如果类是某种类型,我需要专门化Print函数。 但这根本不能编译。
template <typename classType, int size>
class MyVector
{
public:
classType* innerArray;
MyVector(){innerArray = new classType[size];}
~MyVector(){delete[] innerArray;}
void push_back(classType val)
{
innerArray[0] = val;
}
classType& operator[](int index)
{
assert(index >= 0);
return innerArray[index];
}
void Print() {
cout << "Printing Normal" << endl;
}
};
void MyVector<double>::Print()
{
cout << "Printing Double" << endl;
}
答案 0 :(得分:0)
MyVector
需要2个模板参数,例如
void MyVector<double, 16>::Print()
{
cout << "Printing Double" << endl;
}
或者您需要为第二个模板参数提供默认值:
template <typename classType, int size = 16>
class MyVector
...