在基于MFC的应用程序,如何定义一个全局变量
编号:QA002060
建立日期: 1999年11月19日 最后修改日期:1999年11月19日
所属类别:
TangYunhai:
操作系统: Win98,NT
编程工具: VC++
问题: 1.基于MFC的SDI应用程序,如何申请一个全局CString变量?
How do I define a global CString variable,in SDI application of MFC?
2.如何在主框架生成之前,初始化这个变量?
How do I initialize this varibale,before the Main frame generated?
回答:
你可以在sdi.h中加入变量定义:
extern CString sGlobal;
然后在sdi.cpp中加入:
CString sGlobal;
初始化可以在CSdiApp::InitInstance中进行。
如果哪个模块需要调用全局变量,只需要加入
#include "sdi.h"
就可以了。
实际上在类、函数之外声明的变量都是全局变量,所以如果在两个不同的.cpp中声明同名的变量,则在链接时肯定会报告错误。如果要避免这种潜在的冲突,可以在定义变量定义前加static,如:
static int nValue;
这样,在声明这个变量以外的.cpp中nValue不能访问,也不会引起冲突。
相关问题:
QA001737 "在C++中如何使用全局变量"
此问题由李海回答。
| |
|
|
| |
|
|