我正在尝试定义一个包含非类型模板参数成员函数的模板类的特化。我收到以下错误:
error: too few template-parameter-lists
Here's a sample class that describes the problem in brief,
// file.h
template <typename T>
class ClassA {
T Setup();
template <int K> static void Execute();
};
//file.cc
void ClassA<int>::Execute<2>() { //Do stuff }
我认为这更像是一个语法问题,而不是一个设计问题,任何线索?感谢
答案 0 :(得分:5)
即使您完全专门化模板,仍然需要template<>
:
template<> template<> void ClassA<int>::Execute<2>() { //Do stuff }
答案 1 :(得分:4)
您忘了告诉编译器您正在专门化模板类的模板方法:
template <>
template <>
void ClassA<int>::Execute<2>()
{
//Do stuff
}