当我尝试使用空的默认构造函数创建对象但在ANSI C ++中添加方括号时会发生什么?

时间:2018-11-20 11:19:19

标签: c++ compilation

我有一个名为“ Complex”的类,用于表示复数。我为该类定义了一个空的默认构造函数,该构造函数仅将消息打印到屏幕上。 当我尝试在主函数中创建类的对象时,如下所示:

Complex c1();

编译器(我正在使用BorlandC)没有给出语法错误,但没有创建对象。编译器由谁解释这一行?

1 个答案:

答案 0 :(得分:4)

当您写这篇文章时:

int foo();

…它声明了一个名为foo的函数,该函数返回一个int

当您写这篇文章时:

Complex c1();

…它声明了一个名为c1的函数,该函数返回一个Complex

丢掉()

与普遍的看法相反,这并不是“最令人头疼的解析”,但是很接近。