error C2668: “std::to_string”: 对重载函数的调用不明确

error C2668: “*****”: 对重载函数的调用不明确:说明了你的参数类型没有明确的指明。你可以右键找到它定义的地方,找到你需要的重载函数对应的参数类型,然后对你的参数强制类型转换即可。

我遇上的是to_string函数出现这个问题,to_string就是用来把数字类型的变量装换为字符串类型,他在头文件中的重载函数有很多:随便选一个就可以,在参数前强制类型转换即可。

inline string to_string(_Longlong _Val)
	{	// convert long long to string
	char _Buf[2 * _MAX_INT_DIG];

	_CSTD sprintf_s(_Buf, sizeof (_Buf), _LLFMT "d", _Val);
	return (string(_Buf));
	}

inline string to_string(_ULonglong _Val)
	{	// convert unsigned long long to string
	char _Buf[2 * _MAX_INT_DIG];

	_CSTD sprintf_s(_Buf, sizeof (_Buf), _LLFMT "u", _Val);
	return (string(_Buf));
	}

inline string to_string(long double _Val)
	{	// convert long double to string
	char _Buf[_MAX_EXP_DIG + _MAX_SIG_DIG + 64];

	_CSTD sprintf_s(_Buf, sizeof (_Buf), "%Lg", _Val);
	return (string(_Buf));
	}

你可能感兴趣的:(c/c++遇上的错误)