可能重复: Is no parentheses on a constructor with no arguments a language standard?
有谁能解释一下为什么这一行没有给我一个错误:
string params;
params+="d";但这些台词:
string params();
params+="d";给我这个错误:错误C2659:'+=‘:函数作为左操作数
发布于 2012-10-16 09:03:42
这不是反对:
string params();这是函数返回字符串:
string params();如下所示:
string params(void);因此,错误现在很明显:函数作为左操作数
这个问题有自己的名字:parse
发布于 2012-10-16 09:08:49
在第一种情况下,
string params;使用默认构造函数创建字符串实例。
在第二种情况下,
string params();创建指向返回字符串的函数的指针。在这种类型上,显然没有定义operator+=(const &)。
是的,这是语言的一个有点令人困惑的特性,因为当您使用非默认构造函数时,您可以真正地编写。
string params("d");https://stackoverflow.com/questions/12911078
复制相似问题