本帖最后由 taotaox 于 2012-02-25 11:50:43 编辑

解决方案 »

  1.   

    extern 可以理解为引用其他文件的变量
      

  2.   

    变量的定义和声明是有区别的。
    HICON FaceIcon[];//定义变量
    extern HICON FaceIcon[5];//声明
      

  3.   


    是不是意思是“extern HICON FaceIcon[5];//声明”里面的FaceIcon  他引用  “HICON FaceIcon[];//定义变量”里的变量
      

  4.   

    extern HICON FaceIcon[5];//引用外部变量的意思。
      

  5.   

    问题就是这2处申明了同样的东西,不知道是什么含义
    extern HICON FaceIcon[5]; //在demo1.h顶部申明的然后又在demo1.cpp顶部申明了HICON FaceIcon[];这2个地方HICON FaceIcon[];和extern HICON FaceIcon[5];
    不会冲突吗?=============
    这个应该是C++的基本语法吧。
    extern后面的是声明,CPP文件中的是定义,两个是不同的,有点像你调用函数时,如果被调用函数写在调用函数后面的话,我们在前面要写一个函数声明一样。
    一般只种写法是用在多个CPP文件引用同一个全局变量上的。
      

  6.   


    哦,明白了。你这么一说我突然想起了C里面定义函数一样,都需要在main函数前面进行声明,然后在main函数后面具体在实现这个方法。除非直接把这个函数写在main之前