热情软件屋

 

在C++中如何使用全局变量


编号:QA001737
建立日期: 1999年9月20日 最后修改日期:1999年9月20日
所属类别:

dragon:
    VC5.0/6.0
    Win98
    想设一些全局变量。--- 随便在某个cpp文件中定义了一些变量,之后这些变量在ClasssView中显示为全局变量,但是实际上在其他.cpp中却不能用,为什么?真正的全局变量在哪里定义?能否在.h中定义全局变量?

回答:

    你的定义方法没有什么问题,在其他类使用全局变量时,在变量的定义前加上extern,如:
    extern int i;
    当然,你可以把这样的定义放在一个头文件中。但不能把没有extern的定义放在头文件中。
    实际上在类、函数之外声明的变量都是全局变量,所以如果在两个不同的.cpp中声明同名的变量,则在链接时肯定会报告错误。如果要避免这种潜在的冲突,可以在定义变量定义前加static,如:
    static int nValue;
    这样,在声明这个变量以外的.cpp中nValue不能访问,也不会引起冲突。
    
    相关问题:
    QA002060 "在基于MFC的应用程序,如何定义一个全局变量"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio