JUST DO IT ~

          我只想當個程序員

          c++ 全局變量定義在那里?

          我老是搞錯.

           

          boy.h

          class Boy

           

          boy.cpp

          Boy  g_boy;

           

          使用全局變量

          Collection.h

          #include “boy.h”

          extern Boy g_boy;

           

          似乎更優雅的方式

          #ifdef  _BOY__HH__
          extern  Boy  g_boy ;
          #endif

           

           

          錯誤方式:    定義宏根本解決不了這個問題

          boy.h
          #pragma once
          #ifndef _BOY__HH__
          #define _BOY__HH__ 

          class  boy

          Boy  g_boy;

          #endif

          編譯錯誤

          1> .obj : error LNK2005: "class class 全局變量名 " (?g_CITSCache@@3VMarketCache@@A) 已經在 XXX.obj 中定義
          1>  正在生成非 SAFESEH 映像。
          1>D:\XXX.exe : fatal error LNK1169: 找到一個或多個多重定義的符號

           

          等我看了編譯原理再來解釋.

           

          如何防止循環引用?

          A->b->c->A

          posted on 2013-09-04 09:35 小高 閱讀(331) 評論(0)  編輯  收藏 所屬分類: C

          導航

          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關注的blog

          手冊

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 芷江| 灌阳县| 同江市| 庄浪县| 宜君县| 宁德市| 巴南区| 柳林县| 柘荣县| 沂南县| 师宗县| 奎屯市| 兰州市| 南皮县| 阿合奇县| 桓仁| 墨脱县| 大方县| 恩平市| 旌德县| 湾仔区| 黄龙县| 雷波县| 闸北区| 平谷区| 鹤山市| 文成县| 清涧县| 新巴尔虎左旗| 万宁市| 平湖市| 梓潼县| 梅河口市| 潮安县| 台中县| 昌图县| 铜山县| 微山县| 枣阳市| 浮梁县| 邓州市|