小编tre*_*ree的帖子

为什么我可以在包含const int且没有编译器错误的多个cpp文件中包含头文件?

假设我有文件a.cpp b.cpp和文件ch两个cpp文件都包含ch文件.头文件包含一堆const int定义,当我编译它们时,我没有错误,但我可以访问这些const,就像它们是全局变量一样.所以问题是,如果我有多个const定义以及这些const int具有类似全局的范围,为什么我不会得到任何编译错误?

c++ compilation header include

3
推荐指数
1
解决办法
255
查看次数

包含后是否需要前瞻声明?

我在自己的文件中有一个名为GameState的类,该类有一个指向另一个StatusView类型对象的指针,该对象位于自己的文件中.在GameState.h中,我已经包含了StatusView标头,但是当我尝试编译它时,我收到错误:

missing type specifier - int assumed
Run Code Online (Sandbox Code Playgroud)

但是,当我在包含它之后转发声明StatusView时,我能够编译它.我不知道是什么导致要求转发声明类.

c++ include visual-studio-2010 forward-declaration

2
推荐指数
1
解决办法
123
查看次数

G ++"没有命名类型"

struct MyStruct {
  int x;
};

MyStruct theVar;

theVar.x = 10;

int main() {
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么编译器会给我错误:

错误:'theVar'没有命名类型

c++ global

1
推荐指数
1
解决办法
2080
查看次数