我在main 文件里 类A定义了一个全局 A *aa 并且初始化 这个A 是 a.cpp a.h声明和定义
我在另外一个b.cpp 写上extern A *aa并且include "a.h";
在类B里使用 aa->xxxxx 出现aa : undeclared identifier大概有哪些原因会一起上述错误?

解决方案 »

  1.   

    在 stdafx.h中添加 extern A *aa;
    stdafx.cpp中添加 A *aa;
      

  2.   

    定义全局变量时要放在.cpp中,extern 放在.h中。如果全局变量很多,则将extern 部分统一放在一个global.h文件中,这样在其他文件要使用时只需#include“global.h”就可以了。
      

  3.   

    全局 A *aa放在a.cpp中,不能放在.h中
      

  4.   

    a.h里:extern A *aa;
    a.cpp 里:A *aa = new A;使用的cpp里:
    include "a.h";
    aa->DoSomething();
      

  5.   

    你在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。
    http://baike.baidu.com/view/963932.htm?fr=ala0_1_1