0

我正在尝试新的英特尔编译器 2018 与我在这里拥有的所有其他编译器不同,这段代码失败了:

template<int power> double msqrT(double a) { return mpow(a, (double)power); };
template<> double msqrT<2>(double a) { return a*a; };
template<> double msqrT<3>(double a) { return a*a*a; };
template<> double msqrT<4>(double a) { return a*a*a*a; };

double x = msqrT<2>(y); 

对于模板的每个专业化,它最终都会:

error : no instance of function template "msqrT" matches the specified type

知道为什么吗?

4

0 回答 0