Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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
当我试图用空的默认构造函数创建对象,但在ANSI C++中添加括号时会发生什么?_C++_Compilation - Fatal编程技术网

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

当我试图用空的默认构造函数创建对象,但在ANSI C++中添加括号时会发生什么?,c++,compilation,C++,Compilation,我有一个叫做Complex的类,用来表示复数。我为类定义了一个空的默认构造函数,该类只将消息打印到屏幕上。 当我尝试在main函数中创建类的对象时,如下所示: Complex c1(); 使用BorlandC的编译器没有给出语法错误,但它没有创建对象。编译器是如何解释这一行的?编写此代码时: int foo(); Complex c1(); …它声明了一个名为foo的函数,该函数返回一个int 当你写这篇文章时: int foo(); Complex c1(); …它声明了一个名为c1

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

Complex c1();
使用BorlandC的编译器没有给出语法错误,但它没有创建对象。编译器是如何解释这一行的?

编写此代码时:

int foo();
Complex c1();
…它声明了一个名为foo的函数,该函数返回一个int

当你写这篇文章时:

int foo();
Complex c1();
…它声明了一个名为c1的函数,该函数返回一个复数

输了


与流行的信念相反,这不是最令人烦恼的解析,但它是接近的。

它是函数声明,而不是对象构造。作为一个奇怪的后续问题,你能提一下你认为最令人烦恼的解析吗?IslamEl Rougy Complexarg还声明了一个函数。第二最烦人的解析?