C++关于默认构造函数的问题

Dan*_*iel 5 c++ class

调用这样的类是什么意思:

class Example
{
 public: 
  Example(void);
  ~Example(void);
}

int main(void)
{
 Example ex(); // <<<<<< what is it called to call it like this?

 return(0);
}
Run Code Online (Sandbox Code Playgroud)

就像在这种情况下它似乎没有调用默认构造函数一样.有人可以说明为什么会这么糟糕吗?

谢谢你的所有答案.

Jar*_*Par 16

目前,您正在尝试调用默认构造函数.

Example ex();
Run Code Online (Sandbox Code Playgroud)

这实际上并不是调用默认构造函数.相反,您正在定义一个返回类型为Example且不带参数的函数原型.为了调用默认构造函数,省略()的

Example ex;
Run Code Online (Sandbox Code Playgroud)


Kon*_*lph 8

这声明了一个名为函数的函数原型ex,返回一个Example!您没有在这里声明和初始化变量.