C wstring构造函数
作者:互联网
为什么这不能编译:
std::wstring timeString();
if (sysTime->wHour < 10) timeString.append(L"hi");
但是,一旦我改变第一行是这样的:
std::wstring timeString(L"some text");
有用?
解决方法:
std::wstring timeString();
这是一个函数声明,而不是对象声明.仔细看看:函数名称是timeString,它不带参数,并返回std :: wstring.
写吧:
std::wstring timeString;
那应该够了.
只有您更喜欢C 11的统一初始化语法,才能避免这种意外错误:
std::wstring timeString { L"some text" }; //object!
std::wstring timeString { }; //object, not function declaration!
希望有所帮助.
标签:c,wstring 来源: https://codeday.me/bug/20190825/1720190.html