以下代码将编译并且根据cppquiz.org(问题#30)是确定性的。
程序的输出为空,因为
#include <iostream>
struct X {
X() { std::cout << "X"; }
};
int main() { X x(); }
程序的输出为空,因为
X x();
是一个函数声明。
但我仍然想知道为什么尽管这个声明从未在任何地方定义,但它仍然可以编译通过?
x
,它仍然可以编译通过。但是它无法链接。 - chris