[問題] 全域變數的問題

看板C_and_CPP作者 (小天)時間9年前 (2014/09/03 21:28), 9年前編輯推噓0(004)
留言4則, 3人參與, 最新討論串3/3 (看更多)
我再a.cpp裡宣告了一個global int top = 0; 另外再b.cpp裡,我也宣告了一個global int top = 0; 結果編譯的時候跑出了重複定義的錯誤 於是我把a.cpp裡的變數宣告成 static int top = 0; 讓他只能存在於自己的cpp裡,就解決了 ////////////////////以下是問題///////////////////////////// 我在b.cpp裡並沒有include a.cpp的東西 且在b.cpp裡也不能用a.cpp的全域變數 為什麼會有重複定義的錯誤呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1409750888.A.5FA.html ※ 編輯: kdok123 (140.112.25.105), 09/03/2014 21:28:31

09/03 21:41, , 1F
linking ....
09/03 21:41, 1F

09/04 01:08, , 2F
因為最後他們都進了同一支程式裡
09/04 01:08, 2F

09/04 01:08, , 3F
b.cpp 可以用 a.cpp 的全域變數:extern int top;
09/04 01:08, 3F

09/04 09:33, , 4F
原來如此!! 謝謝!!
09/04 09:33, 4F
文章代碼(AID): #1K1nTeNw (C_and_CPP)
文章代碼(AID): #1K1nTeNw (C_and_CPP)