Как использовать частичную специализацию по двум параметрам - PullRequest
3 голосов
/ 14 февраля 2012

Я могу поклясться, что синтаксис правильный. Я поиграл и изменил 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);
}

1 Ответ

7 голосов
/ 14 февраля 2012

Нет частичных специализаций шаблонов функций.Просто используйте вместо этого перегрузку:

template<typename T> void fn(T t, bool tt) { std::cout<<"bool"<<std::endl; }
...