2

重複の可能性:
std::to_string - オーバーロードされた関数の複数のインスタンスが引数リストと一致します

#include <string>

int main()
{
    double randDouble = 1245.432;
    std::wstring stringDouble = std::to_wstring(randDouble);
}

これを Visual Studio 2010 でコンパイルすると、このエラーが発生します

エラー 1 エラー C2668: 'std::to_wstring': オーバーロードされた関数のあいまいな呼び出し 6

1> エラー C2668: 'std::to_string': オーバーロードされた関数のあいまいな呼び出し

1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\string(688): 'std::string std::to_string(long double)' の可能性があります

1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\string(680): または 'std::string std::to_string(_ULonglong)'

1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\string(672): または
'std::string std::to_string(_Longlong)'

なぜコンパイラが混乱しているのか、何が間違っているのかを誰かに説明してもらえますか?

4

1 に答える 1

6

これは、Visual C++ 2010 のバグでした。Visual C++ 2012 で修正されました。

于 2013-01-27T01:15:31.607 に答える