十分感谢!
email:[email protected]
感谢您的帮助!

解决方案 »

  1.   

    在类的外部声明定义
    //dlg1.cpp
    int g_nTemp;//dlg2.cpp
    extern int g_nTemp;
      

  2.   

    C***App中定义一个公有的CString
    使用时
    void CDlgDlg::OnButton2() 
    {
    ((CDlgApp*)AfxGetApp())->str = "test";
    }
    不要忘记了包含头文件
      

  3.   

    有两种方法:
    第一:在 C***App中定义
    第二:在某处定义,在stdafx.h中加上 extern int g_nTemp,这样在其他地方也能用了
      

  4.   

    也可以声名一个类的public static成员,这样就可以通过类名来引用
      

  5.   

    也可以声名一个类的public static成员,这样就可以通过类名来引用.
    引用时  类名::变量名
    相当于外部变量。
      

  6.   

    //dlg1.cpp
    int g_nTemp;//dlg2.cpp
    extern int g_nTemp;为什么在cpp中不在.h中?
    谢谢
      

  7.   

    变量定义在 .h 文件中
    在要使用的 .cpp 文件将 .h 文件包含进来
    记得在使用前还得用 "extern DataType MyVar;"定义一遍
      

  8.   

    举个例子:
    你在stdafx.h中声明extern int theGlobal;
    然后你在stdafx.cpp中int theGlobal;
    然后你别的文件包含stdafx.h就可以用theGlobal这个全局变量了
      

  9.   

    为什么不把int theGlobal直接定义在stdafx.h呢?
      

  10.   

    举个例子:
    你在stdafx.h中声明extern int theGlobal;
    然后你在stdafx.cpp中int theGlobal;
    然后你别的文件包含stdafx.h就可以用theGlobal这个全局变量了
    --------------------------------------------------------------------------
    对,就是这样。因为stdafx.h文件会被工程中的每个文件包含,所以这个文件中声明应该是最好的。不过如果你的全局变量很多的话,最好再建立一个新文件.cpp和一个新文件.h进行声明,然后在stdafx.h中包含这个文件,这样不会显得乱七八遭
      

  11.   

    单独写一个文件global.h,专门用来定义全局变量
    #ifndef _GLOBAL_H
    #define _GLOBAL_H
    .
    .
    .
    #endif