欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 定義與聲明 [打印本頁]

作者: liuyang    時間: 2012-1-14 03:53
標題: 定義與聲明
      在頭文件定義類型,常常會遇到編譯時報,已在某個模塊中定義了。

         這其實是由于重復定義導致C++編譯器無法通過編譯,C編譯器就能通過,因為它有重復定義機制。 文件在編譯時會把每個源代碼文件分別編譯成對應的目標文件,其中會含有引入變量符號。頭文件一般只存放聲明。頭文件只是把代碼裝入到源代碼中然后編譯的,如果你在.h里定義了變量將會導致多個引用其頭文件的模塊都定義了改變量,致使VC編譯器報錯。 所以一般在.h中用extern int i;只聲明下,編譯時就是一些外部引入變量符號,然后再某個.cpp中在具體定義。  

    或者用這個只就省了聲明與定義分開寫的麻煩。

 

     假設cl.h   代碼如下

 

    #ifdefine    MAIN_DEFINE

    # define  EXTERN                             //定義

   #else

  #define    EXTERN  extern                //聲明

   #endif 

 

 

在定義的.cpp中加載

   #define  MAIN_DEFINE

  #incluade " cl.h"

在聲明的.cpp中加載

      #incluade " cl.h" 





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1