У меня есть JsonFormatter
шаблонный класс, который специализируется для различных типов, таких как арифметика и т. Д., Следующим образом:
template <class T, typename Enable = void>
class JsonFormatter;
template <class T>
class JsonFormatter<T, typename std::enable_if<std::is_arithmetic<T>::value>::type>
{
};
Непонятно, как специализировать его для конкретного типа типа std::string
, например? Моей первой идеей было что-то вроде этого:
template <>
class JsonFormatter<std::string, std::true_type>
{
};
но это не компилируется. Когда я использую
JsonFormatter<std::string>
Я получаю
"undefined class 'JsonFormatter<std::string,void>'"