【发布时间】:2021-11-30 06:05:02
【问题描述】:
我可以写声明或带定义的声明。例子:
int x = 1; // declaration and definition
extern int x; // only declaration
bool f(); // only declaration
bool g() {} // declaration and definition
class X; // declaration
class X {}; // declaration and definition
所以我们可以看到,这可以只写声明和带定义的声明。 但是我怎么能只写定义呢?我听说这是可能的。
【问题讨论】:
-
对于班外的班级成员? (不确定它们的定义是否算作声明)。
-
为什么?出于好奇还是有什么问题需要解决?
-
bool g() {};应该是bool g() {}您的版本是有效的 C++,但;;;;;也是如此——分号与函数定义完全无关。 -
技术上每个定义也是一个声明。非正式地,有些人有时可能会说“这是一个定义,而不是一个声明”,但这只会让人感到困惑。