社区
C++ Builder
帖子详情
bcb中,如果定义一个面向对象的全局变量.而不用extern定义
gigilee
2004-12-14 09:12:29
bcb中,如果定义一个面向对象的全局变量.而不用extern定义
...全文
274
6
打赏
收藏
bcb中,如果定义一个面向对象的全局变量.而不用extern定义
bcb中,如果定义一个面向对象的全局变量.而不用extern定义
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Waiting4you
2005-07-31
打赏
举报
回复
还有一种方法,在h文件里把int ii;定义改成static int ii;
XBox360
2005-07-29
打赏
举报
回复
像上面说的:如果其他文件要访问,就需要extern。
Maconel
2005-07-29
打赏
举报
回复
对于上边所说的警告信息,是因为,你在h文件里定义了一个全局变量,那么其他单元包含它时,等于在每个单元都定义了一个int ii;变量,他们虽然名字一样,但是实际是不同的变量。因为include一个h文件,就等于把那个h文件的代码拷到include的地方。
所以一般定义全局变量的方法,是在cpp中定义int ii;,然后在h文件中extern int ii;。这样大家包含该h文件时,就等于都有了一句extern ...。extern是引用一个外部的变量,那么大家就都引用了同一个变量int ii;,这样用起来才是只有一个ii,而不是各有一个ii。
Maconel
2005-07-29
打赏
举报
回复
在函数外部定义的变量,就是全局变量。
但是该变量只有在能看到他的地方,也就是本文件内,变量声明以后,才可以使用他。
如果其他文件要访问,就需要extern。
Swosna
2005-07-29
打赏
举报
回复
extern PACKAGE TForm1 *Form1;
我在这里定义了一个int ii;编译的时候它会提示
[Linker Warning] Public symbol '_ii' defined in both module F:\ANAN\WEIXIU\LOGON.OBJ and F:\ANAN\WEIXIU\MAIN.OBJ
jishiping
2004-12-14
打赏
举报
回复
比如,你运行BCB后,在Unit1.cpp中,一开始的 TForm1 *Form1; 这就是定义了一个全局变量Form1。而在 Uni1.h 的最后,你看到的 extern PACKAGE TForm1 *Form1; 这就是描述(说明)全局变量Form1,好让其它的cpp在包含 Unit1.h 之后,可以访问全局变量 Form1
extern
al 和 static 变量
1. 首先
extern
al变量是
全局变量
,你可以在头文件
中
申明某个变量是
全局变量
,
extern
al int a;但是不要赋值,如果你后面赋值就成为
定义
了。也就是不是声明,到其他地方在
定义
就是重复
定义
了。申明后, 你把这个头文件...
解决重复包含一个头文件时变量重复
定义
的问题
#include文件的一个不利之处在于一个头文件可能会被多次包含,为了说明这种错误,考虑下面的代码: #include "x.h" #include "x.h" 显然,这里文件x.h被包含了两次,没有人会故意编写这样的代码。但是下面的...
关于多文件引用头文件变量重复
定义
的解决办法【
BCB
2010环境】
问题起始于在头文件
中
定义
全局变量
,方便在其他文件
中
引用.有三个文件Unit1.cpp,calc.h和calc.cpp.,calc.h包含
全局变量
和要用到的函数calc.cpp包含全局函数的实现.calc.cpp和Unit1.cpp
中
都包含文件calc.h。编译提示...
控制
全局变量
初始化顺序 && #pragma详解
控制
全局变量
初始化顺序转自:http://nathan.xuli.googlepages.com/cpp_global
全局变量
的初始化分两种。一种是static initialization,用常量来初始化,在程序被load的时侯就完成了。另一种就是dynami
1.1.25. 两个文件
中
的静态变量如果相互依赖,则有可能无法运行
1.1.1. 两个文件
中
的静态变量如果相互依赖,则有可能无法运行 如 一文件
extern
int xint y= x+1 另一文件
extern
int yint x=y+1或者是对象,也会这样,比如一文件对象的构造函数
中
用了另一文件
中
的对象这时,另一...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章