⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_40962.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:40962 发表者:雨水 发表日期:2003-05-22 18:02:42
<br>主题:关于全局变量的一个问题
<br>内容:我用下面的形式写了个文件定义全局变量<BR>#ifndef _MY_HEADER_H<BR>#define _MY_HEADER_H<BR>...<BR>int g_nGlobol;<BR>...<BR>在头文件结束底地方<BR>#endif<BR>可是我只要在两个文件中包含这个头文件,就会出现下面的错误<BR>SCommTestDlg.obj : error LNK2005: "int&nbsp;&nbsp;flag" (?flag@@3HA) already defined in SCommTest.obj<BR><BR>请大家帮帮忙啊<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:---信风--- 回复日期:2003-05-22 18:24:20
<br>内容:用 static 修饰一下。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:雨水 回复日期:2003-05-22 19:57:22
<br>内容:在这个全局变量文件中有一个我定义的结构体类型,<BR><BR>我的对话框中的一个函数的形参要用这个结构体类型声明,<BR><BR>我在.cpp文件中包含了头文件,<BR><BR>在它的.h文件中,要包含头文件,就会出现上面的错误<BR><BR>要是不包含头文件,就会说缺少存储类型,<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:金枪鱼 回复日期:2003-05-22 20:18:49
<br>内容:1)一般来说全局变量定义在C×××App theApp;语句的前后。<BR>theApp是你的程序固有的全局变量,在这条语句的前后定义全局变量更显得方便和容易查找。<BR><BR>2)如果你定义的全局变量的数据类型是你自己定义的类型,如结构,则这个结构的定义最好在程序的主.h定义。因为主.h是程序中基本上全部的类都会自动包含的头部文件(另外从外部添加到工程的类除外)。这样就基本上不存在数据类型的错误了。<BR><BR>3)在引用这个全局变量的其它类中,虽然油料定义的支持,还需要在.cpp文件的前部使用extern引入这个全局变量。<BR><BR>接下来,你在类中使用这个全局变量就没有问题了。<BR><BR>楼主在#define和#endif的中间定义一个int全局变量,那这个变量在某种条件下就不存在了。那还叫什么全局变量呢?<BR>我是这样理解的。<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:雨水 回复日期:2003-05-23 17:24:45
<br>内容:这次对了,非常感谢<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -