我有一个函数,它的参数是模板化的:
template <class Vector>
void F(Vector& vec);
我想为数值数组添加此函数的特化。我的尝试看起来像这样:
template <class NumType>
void F(NumType array[]);
我在调用代码中的专用函数时遇到了困难。见下文:
void main()
{
double a[] = {0.0, 1.0};
F(a); // This calls the Vector version of the function,
// with Vector = double [3], in my specific case.
}
如果有帮助,我事先知道该函数需要长度为3的数组才能正常工作。
如何修复我的专用函数声明,以便调用该函数的NumType数组版本?
由于
答案 0 :(得分:1)
尝试
template <class NumType, size_t N>
void F(NumType (&array)[N]);