在C++中定义全局变量时避免重复定义
2016-06-21 20:28
323 查看
问题:如何在C++中定义全局变量时避免重复定义呢?
今天遇到问题,全局变量重定义错误,印象中记得要加extern,但是怎么都不对,找资料后得到了解决方案,记之。(参考文献:http://www.xjktarena.com/jswz/121.html)
解决方案:
只要在定义时尽量在.cpp文件中进行,而不要在.h 文件中定义。定义好了之后,可以在.h文件中利用extern关键字进行声明。如果在.h文件中定义的话,多层包含就可能会引起重复定义的错误。
例子:
在params.cpp中定义全局变量
params.cpp
int a;//定义
params.h
extern int a;//声明
然后其他文件要使用这些变量的时候只要#include "params.h"就可以了,而且不会引起重复定义的错误.
今天遇到问题,全局变量重定义错误,印象中记得要加extern,但是怎么都不对,找资料后得到了解决方案,记之。(参考文献:http://www.xjktarena.com/jswz/121.html)
解决方案:
只要在定义时尽量在.cpp文件中进行,而不要在.h 文件中定义。定义好了之后,可以在.h文件中利用extern关键字进行声明。如果在.h文件中定义的话,多层包含就可能会引起重复定义的错误。
例子:
在params.cpp中定义全局变量
params.cpp
int a;//定义
params.h
extern int a;//声明
然后其他文件要使用这些变量的时候只要#include "params.h"就可以了,而且不会引起重复定义的错误.
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 如何组织构建多文件 C 语言程序(二)
- 关于指针的一些事情
- 如何写好 C main 函数
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua和C语言的交互详解
- Lua中的全局变量、非全局变量总结
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- js DOM 元素ID就是全局变量
- C++联合体转换成C#结构的实现方法
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题