Я хочу использовать std::enable_if
для создания конструктора, который соответствует числам. Я попробовал следующий код, но конструктор не найден. Основная функция имеет примеры того, как я хочу использовать это. Что я должен изменить, чтобы сделать эту работу?
#include <type_traits>
#include <string>
class A {
public:
A(const std::wstring&, const std::wstring&)
{}
template<typename T>
A(const std::wstring& n, typename std::enable_if<std::is_arithmetic<T>::value, T>::type v)
{}
};
int main() {
A(L"n", 1234); // does not compile
A(L"n", 2.7); // does not compile
A(L"n", L"n"); // compiles
return 0;
}
Ошибка на Ideone : Сбой вывода / замены аргумента шаблона