b's profileduke的共享空间PhotosBlogListsMore Tools Help

Blog


    August 20

    一个小技巧,为什么添加全局变量会在link的时候报错

    为什么添加全局变量会在link的时候报错?
     
    为什么呢? 这是因为 在 A.h文件里面
    我们声明
     
    class myClass{
    ......
    } A;
     
    然乎在 A.cpp文件里面
    我们include了一次 A.h
    这样我们就实例了一次 A
     
    然而 在 main.h文件里面
    我们第二次include了一次 A.h
    导致又实例了一次 A这样 link的时候就有两个 A了,所以会报错
     
    解决的办法是什么呢? 在 A.h里面我们声明为
    extern class myClass{
    ......
    } A;
     
    然后在 A.cpp文件里面 我们 写 myClass A;
    这样就没问题了
     
    呵呵