c++ - 为什么我不能多重声明一个类

标签 c++

我能做到

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/

相关文章:

c++ - 'glPopMatrix':找不到标识符

c++ - OpenGL - 帮助限制曲线永远不会越界

c++ - 试图弄清楚这个哈希函数返回什么

c++ - 使用整数指针将左值转换为右值

c++ - 编译错误 : unresolved overloaded function type

c++ - 在另一个静态库中链接静态库

c++ - 使用 VC141 将 high_resolution_clock::time_point 转换为 time_t

.net - .NET 4.0 的 Visual Studio 2010 问题

c++ - 全局变量0-初始化惩罚

c++ - 如何在boost中使用digamma函数