C++ 为什么';";foo f()&引用;调用类的构造函数";福;?
可能重复:C++ 为什么';";foo f()&引用;调用类的构造函数";福;?,c++,constructor,execution,C++,Constructor,Execution,可能重复: 我碰到了以下问题。我创建了两个foo实例。 然后我意识到,foof()未执行类的构造函数。为什么呢 class foo{ public: foo() {cout <<"executed contructor...";} }; int main() { foo f(); // doesn't run the ctor???? why? foo f2; // this one does execute the ctor system("
我碰到了以下问题。我创建了两个foo实例。 然后我意识到,
foof()代码>未执行类的构造函数。为什么呢
class foo{
public:
foo() {cout <<"executed contructor...";}
};
int main() {
foo f(); // doesn't run the ctor???? why?
foo f2; // this one does execute the ctor
system("pause");
return 0;
}
class-foo{
公众:
foo(){cout第一个声明了一个函数。尝试访问名为f
的对象。编译器会抱怨如下:f具有非类类型foo()
,这意味着它是一个不带参数的函数,返回类型为foo
的对象。第一个声明函数。尝试访问名为f
的对象。编译器会抱怨如下:f具有非类类型foo()< /代码>,这意味着它是一个不带参数的函数,返回一个类型为<代码> fO< <代码>的对象。< /p> < p>检查C++ FAQ问题10.2:
[10.2]列表x;和列表x()之间有什么区别吗
< P> < P> > P>检查C++ FAQ问题10.2:< /P>
[10.2]列表x;和列表x()之间有什么区别吗
查看前面的问题foo f3(foo());
是最麻烦的解析示例。foo f();
只是一个稍微麻烦的解析。查看前面的问题foo f3(foo());
是最麻烦的解析示例。foo f();
只是一个稍微麻烦的解析。