JUST DO IT ~

          我只想當(dāng)個(gè)程序員

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

          我老是搞錯(cuò).

           

          boy.h

          class Boy

           

          boy.cpp

          Boy  g_boy;

           

          使用全局變量

          Collection.h

          #include “boy.h”

          extern Boy g_boy;

           

          似乎更優(yōu)雅的方式

          #ifdef  _BOY__HH__
          extern  Boy  g_boy ;
          #endif

           

           

          錯(cuò)誤方式:    定義宏根本解決不了這個(gè)問題

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

          class  boy

          Boy  g_boy;

          #endif

          編譯錯(cuò)誤

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

           

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

           

          如何防止循環(huán)引用?

          A->b->c->A

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

          導(dǎo)航

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

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          隨筆分類(352)

          收藏夾(19)

          關(guān)注的blog

          手冊(cè)

          搜索

          積分與排名

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 思茅市| 靖安县| 双城市| 濮阳县| 常宁市| 云和县| 临西县| 雷州市| 且末县| 上杭县| 辉县市| 蓬溪县| 新源县| 江华| 延川县| 梨树县| 兴隆县| 舒城县| 乌海市| 富蕴县| 宕昌县| 乌什县| 乌鲁木齐市| 德清县| 临沂市| 石台县| 辛集市| 洱源县| 七台河市| 彰化县| 新泰市| 建水县| 和林格尔县| 西城区| 临澧县| 彰化市| 平山县| 杨浦区| 平阴县| 汝城县| 淮阳县|