定义写在第一个h对应的a.cpp文件里面BOOL  m_Num1[];,然后在这个a.h里面写extern BOOL m_Num1[];
其他所有要用到这个数组的cpp都直接include "a.h"
这个方法我试过了 可是仍然会出现下列问题:
Display2.obj : error LNK2001: unresolved external symbol "int * m_Num1" (?m_Num1@@3PAHA)
Debug/TestP.exe : fatal error LNK1120: 1 unresolved externals我还尝试过将定义BOOL  m_Num1[]写在.h文件里,然后再其它cpp文件中声明extern BOOL m_Num1[];但是仍然会出现上述错误,反复试验了无数次,仍然这样,快要崩溃了!请各位师兄师姐们多多指点啊!

解决方案 »

  1.   

    BOOL m_Num1[100];
    是不是没有加长度的原因啊
      

  2.   

    BOOL m_Num1[];这样定义全局变量是有漏洞的,应该赋初值,因为这样定义不能确定是分配多少内存空间,参照以下定义
    BOOL m_Num1[2] = {TRUE, TRUE};
    头文件描述
    extern BOOL m_Num1[2];
      

  3.   

    定义时一定要有大小(2)
    BOOL m_Num1[2] = {TRUE, TRUE};
    头文件描述声明可以不要大小
    extern BOOL m_Num1[];
      

  4.   

    这是链接错啊,你要在cpp文件中去“实现”它啊,不然肯定会导致链接错的;实现也就是你得给数组赋值啊
      

  5.   

    你那里是不是还有同名的变量,全局变量不要用m_打头,否则别人看你程序会吐血的,m是指member,成员变量,全局变量建议用g_打头代表Global。