我发誓语法是正确的。我玩了一下并将class
更改为typename
。仍然没有。
我如何写这个以便第二个功能模板开始?
#include <iostream>
template<typename T, typename TT> void fn(T t, TT tt) { std::cout<<"general"<<std::endl; }
template<> void fn<T, bool>(T t, bool tt) { std::cout<<"bool"<<std::endl; }
int main(){
fn("", "");
fn("", true);
}
答案 0 :(得分:7)
功能模板没有部分专业化。只需使用重载:
template<typename T> void fn(T t, bool tt) { std::cout<<"bool"<<std::endl; }