【纠结】全局变量啊!!!!!!
来源:互联网 发布:java数据访问层框架 编辑:程序博客网 时间:2024/05/22 20:48
关于全局变量的定义和声明
全局变量:全局变量也称为外部变量,它是在函数外部定义的变量。
它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。
只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。
但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。
昨天犯的错误是吧一个全局变量直接定义到一个头文件中然后把用到全局变量的cpp文件都包含头文件。。可连接Linking时出现错误
int side=4;
CTetrics.obj : error LNK2005: "struct tagPOINT Orign_L" (?Orign_L@@3UtagPOINT@@A) already defined in CPaint.obj
CWndFrame.obj : error LNK2005: "struct tagPOINT Orign_L" (?Orign_L@@3UtagPOINT@@A) already defined in CPaint.obj
Main.obj : error LNK2005: "struct tagPOINT Orign_L" (?Orign_L@@3UtagPOINT@@A) already defined in CPaint.obj
Debug/Tetrics.exe : fatal error LNK1169: one or more multiply defined symbols found
网上搜错误原因;重复定义错误。。想一下,是啊,在头文件里定义一个变量这就意味着。每当include一次头文件就要定义一个变量,当然是重定义了。。。
那#pragma once 行不行啊啊?》??验证答案是不行滴。。。。。
所以呢就要想出一种方法了,,
要不就在头文件中定义成static型的变量
要不就把变量定义到头文件外部,然后再头文件中extern下。。。。。
恩,实验发现第二种方法可用,可是第一种方法的问题就有了。。。
定义成static后在类操作里面却不能再对变量修改了...(这个问题不知为什么。。请大虾帮忙解决下啦......)
看到这我觉得有必要去研究下static了、。。。。
【剩下的研究完再说吧....】
全局变量:全局变量也称为外部变量,它是在函数外部定义的变量。
它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。
只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。
但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。
昨天犯的错误是吧一个全局变量直接定义到一个头文件中然后把用到全局变量的cpp文件都包含头文件。。可连接Linking时出现错误
int side=4;
CTetrics.obj : error LNK2005: "struct tagPOINT Orign_L" (?Orign_L@@3UtagPOINT@@A) already defined in CPaint.obj
CWndFrame.obj : error LNK2005: "struct tagPOINT Orign_L" (?Orign_L@@3UtagPOINT@@A) already defined in CPaint.obj
Main.obj : error LNK2005: "struct tagPOINT Orign_L" (?Orign_L@@3UtagPOINT@@A) already defined in CPaint.obj
Debug/Tetrics.exe : fatal error LNK1169: one or more multiply defined symbols found
网上搜错误原因;重复定义错误。。想一下,是啊,在头文件里定义一个变量这就意味着。每当include一次头文件就要定义一个变量,当然是重定义了。。。
那#pragma once 行不行啊啊?》??验证答案是不行滴。。。。。
所以呢就要想出一种方法了,,
要不就在头文件中定义成static型的变量
要不就把变量定义到头文件外部,然后再头文件中extern下。。。。。
恩,实验发现第二种方法可用,可是第一种方法的问题就有了。。。
定义成static后在类操作里面却不能再对变量修改了...(这个问题不知为什么。。请大虾帮忙解决下啦......
看到这我觉得有必要去研究下static了、。。。。
【剩下的研究完再说吧....】
- 【纠结】全局变量啊!!!!!!
- 纠结啊
- 纠结啊。。
- 纠结啊
- 纠结啊
- 纠结啊
- 纠结啊
- 好纠结啊
- 纠结的考试啊
- 头疼啊真是纠结
- 抽中盲审了,纠结啊
- 好纠结啊
- 纠结
- 纠结
- 纠结.
- 纠结
- 纠结
- 纠结
- 关于“服务器提交了协议冲突. Section=ResponseStatusLine"问题请
- 字符串拷贝和内存拷贝函数
- 针对Excel表格文件操作的编程实现
- mac下输出apk时的关于zipalign错误的解决方法
- 【原创_解析】关于static型变量被外部文件修改的问题..
- 【纠结】全局变量啊!!!!!!
- 怎么区分 const 与 * 的组合
- char *p=\"1234\" ; 内存分配
- poj-1258-Agri-Net
- 由一道道题想到的(sizeof)
- 控制按键的 几种方法
- 【转】Lib静态链接库和Dll动态链接库
- 从零开始教你用C语言编游戏【如鹏】
- 在iis中发布asp的网站后,只显示登陆页面,其他的页面都不显示,并出现http500内部服务器错误,是怎么回事?