我可以做这个

extern int i;
extern int i;

但是我不能在类里面做同样的事情
class A {
..
}
class A {
..
}

虽然在两种情况下都没有分配内存。

最佳答案

以下是声明:

extern int i;
class A;
接下来的两个是定义:
int i;
class A { ... };
规则是:
  • 的定义也是声明。
  • 您必须先“看过”一个项目的声明,然后才能使用它。
  • 重新声明是可以的(必须相同)。
  • 重定义是错误(“一个定义规则”)。
  • 关于c++ - 为什么我不能多宣告一个类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2198316/

    10-17 02:48