Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
VC++ 2013 用に再コンパイルしようとしたいくつかのコードでこれを見ました。
std::string str; [...] str = {}
VC++ 2013 はそれについて不平を言っています:
error C2593: 'operator =' is ambiguous
だから私はそれが具体的に何をするのかを理解しようとしています。
では、なぜstr = {}代わりに使用するのstr = ""ですか?もしあれば違いは何ですか?
str = {}
str = ""
MSVC のバグだと思います。意味: 変数に空initializer_list<char>を割り当てstrます。これは、明示的な作成を使用して修正できます。これにより、str = std::string{};元の意味が保持され、MSVC で動作します。MS Connect にバグ レポートを提出することをお勧めします。
initializer_list<char>
str
str = std::string{};
str = {""}
うまく機能し、ブラケット割り当ての元の意味を保持します。