У меня есть что-то вроде этого:
typedef int AnotherType;
template <typename T> Func( T Value );
// And I want to specialize these two cases separately:
template <> bool Func<int>( int Value ) {...}
template <> bool Func<AnotherType>( AnotherType Value ) {...}
Мне действительно не нужно специализироваться для int, что я действительно необходимо выполнить другую функцию для AnotherType. И я не могу изменить определение AnotherType или базовой функции.
Перегрузка не помогает ни из-за SFINAE.