头文件中添加了防止重复包含的宏,依旧报重复定义的问题
2015-04-11 14:29
295 查看
一个头文件中会包含另外一些头文件和函数,只要注意层次问题一般不会说函数或结构体重复定义,但如果想在头文件中定义全局变量就会出问题了,因为每个c或者cpp文件都会找自己的变量是从哪里定义的,链接器会寻找c或cpp文件中包含的头文件和头文件中包含的头文件,不像普通函数和结构体定义的那样,声明即可变量可能会报很多错。
所以全局变量最好定义在c或者cpp文件中,然后在一个头文件中用extern声明之,这样就可以使用全局变量了。
如:
c文件
int a;
h文件
extern int a;
如果在h中定义
int a;
然后好多头文件中包含和被包含,就会出现重复定义的错误
所以全局变量最好定义在c或者cpp文件中,然后在一个头文件中用extern声明之,这样就可以使用全局变量了。
如:
c文件
int a;
h文件
extern int a;
如果在h中定义
int a;
然后好多头文件中包含和被包含,就会出现重复定义的错误
相关文章推荐
- 防止变量重复定义、头文件重复包含、嵌套包含
- 【转载】防止变量重复定义、头文件重复包含、嵌套包含
- 【转载】防止变量重复定义、头文件重复包含、嵌套包含
- 【转载】防止变量重复定义、头文件重复包含、嵌套包含
- [转]C++学习:防止变量重复定义;头文件重复包含、嵌套包含
- 防止变量重复定义、头文件重复包含、嵌套包含
- 防止头文件被重复包含、extern、变量定义与声明的区别
- 防止变量重复定义、头文件重复包含、嵌套包含
- 防止变量重复定义;头文件重复包含、嵌套包含
- 防止 c 头文件以嵌套包含及变量重复定义
- 防止变量重复定义、头文件重复包含、嵌套包含
- 防止变量重复定义、头文件重复包含、嵌套包含
- 防止变量重复定义、头文件重复包含、嵌套包含
- 关于头文件重复包含以及函数重定义问题
- C++ 头文件中为何添加了#ifndef #define #endif还会出现变量重复定义的问题
- 【转载】防止变量重复定义、头文件重复包含、嵌套包含
- 防止变量重复定义、头文件重复包含、嵌套包含
- 防止变量重复定义、头文件重复包含、嵌套包含
- 防止变量重复定义;头文件重复包含、嵌套包含
- 两个问题: 1、头文件重复包含 2、头文件加了ifndef条件预处理指令为什么还会定义