Точно так же, как в теме я использую VS2010:
Я имею:
std::string s = std::to_string(42);
и ошибка
Error 4 error C2668: 'std::to_string' : ambiguous call to overloaded function
как это починить?
Visual C ++ 2010 имеет только три перегрузки для std::to_string
что взять long long
, unsigned long long
, а также long double
, Стандарт определяет нечто большее, но VC ++ 2010 не поддерживает их. Нет преобразования из int
буквальный 42
является предпочтительным, поэтому вызов неоднозначен. Вместо этого вы можете использовать другой тип целочисленного литерала. Например:
std::string s = std::to_string(42LL);
Других решений пока нет …