Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 无法将常量字符转换为字符串构造字符串_C++ - Fatal编程技术网

C++ 无法将常量字符转换为字符串构造字符串

C++ 无法将常量字符转换为字符串构造字符串,c++,C++,为什么这样做有效 auto f = std::string(); f = "src.Id"; 但事实并非如此 std::string f(); f = "src.Id"; 因为 std::string f(); 声明一个函数f,该函数不接受任何参数并返回字符串。它经常被(错误地)称为最令人烦恼的解析。< /p>查找“C++中最令人烦恼的解析”。我希望人们不要把这个简单的案例称为最令人烦恼的解析。这是最烦人的解析。可以说,无论您目前遇到的是哪种烦人的解析,都是最烦人的解析。:)如果使用较新的

为什么这样做有效

auto f = std::string();
f = "src.Id";
但事实并非如此

std::string f();
f = "src.Id";
因为

std::string f();

声明一个函数
f
,该函数不接受任何参数并返回字符串。它经常被(错误地)称为最令人烦恼的解析。< /p>查找“C++中最令人烦恼的解析”。我希望人们不要把这个简单的案例称为最令人烦恼的解析。这是最烦人的解析。可以说,无论您目前遇到的是哪种烦人的解析,都是最烦人的解析。:)如果使用较新的语法
std::string f{},它不会考虑<代码> f>代码>返回一个函数的声明<代码> STD::String 。@约翰:也许你应该纠正Scott Meyers(谁发明了这个词)——看看他的评论“WIGWET W3-(;)/ /最令人烦恼的解析!声明一个函数!”仅仅因为维基百科只列出了一个更复杂的例子并不意味着更简单的例子也不在这个术语的涵盖范围之内。