我在尝试为VC ++ 2013重新编译的一些代码中看到了以下内容:
std::string str;
[...]
str = {}
VC ++ 2013抱怨说:
error C2593: 'operator =' is ambiguous
因此,我试图了解其具体功能。
那么为什么要使用str = {}
代替str = ""
?有什么区别?
我相信这是MSVC中的错误。含义:它将空值分配initializer_list<char>
给str
变量。您可以通过使用显式创建来解决此问题:str = std::string{};
它可以保留原始含义,并且可以与MSVC一起使用。我建议向MS Connect提交错误报告。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句