全局变量的定义
来源:互联网 发布:网络协议配置命令行 编辑:程序博客网 时间:2024/06/05 03:56
一般,我们总会把声明放在头文件,定义和实现放在cpp文件中
如果头文件里有了实现,会报重定义错误
造成这个链接错误很容易。。。
三个文件
test.h
#ifndef TEST#define TESTchar* str = "abc";void fun();#endiftest.cpp
#include"test.h"#include<iostream>using namespace std;void fun(){cout<<str<<endl;}main.cpp
#include"test.h"int main(){fun();return 0;}
解决方案
有两个常用的,一个是extern 一个是 static
他们是互斥的
static 很容易 直接在上面代码里加就好了
因为static变量需要在声明时赋值,且会存在静态区,程序结束前才释放,程序能找到它,就不会报错。
extern用法:
头文件里的声明加 extern
#ifndef TEST#define TEST//static char* str = "abc";extern char* str;void fun();#endif
cpp里定义
#include"test.h"#include<iostream>using namespace std;char* str = "abc";void fun(){cout<<str<<endl;}这时他们用的是同一块空间,就不会有重定义的问题了
0 0
- 全局变量的定义
- 全局变量的定义
- 全局变量的定义
- 全局变量的定义
- 全局变量的定义
- 全局变量的定义
- VC全局变量的定义
- 全局变量的定义方法
- VC全局变量的定义
- 常见的全局变量定义
- 什么是全局变量?JavaScript的全局变量怎么定义?
- C++的全局变量,静态全局变量,常全局变量定义与声明
- 全局变量的定义和使用
- 全局变量的定义和使用
- RDLC报表的全局变量定义
- vc定义全局变量的问题
- extern全局变量的定义使用
- MFC中全局变量的定义
- 理解一个简单的网页请求过程
- iOS 画圆弧或扇形
- linux shell 自定义函数(定义、返回值、变量作用域)介绍
- 女车主服毒自杀?
- 格式化原理
- 全局变量的定义
- hdu_1213 how many tables (并查集)
- pydev开发python快捷键
- LBE 安全大师支持android 4.4注入分析
- GlusterFS原创资源汇总
- iOS解析HTML
- ACM-2001-计算两点间的距离
- 无人区好不好看呀?
- MySQL 读写分离