Re: [問題] extern const array?
對新手來說是不簡單,畢竟資料給你,很多名詞寫什麼你至少得看懂,
那就只能自己加油看書。
客觀來說,非新手的話,這個問題 "靠自己找到答案" 真的不難。
關鍵在於,你標題就錯了。
不得不說,這是原 PO 測試得不夠用心,應注意未注意。
當我們試著重現此問題時,可以發現:
檔案 1.cpp
extern const int i;
int main() {
int val = 0;
val = i;
return 0;
}
檔案 2.cpp
const int i = 7;
void foo() { }
進行執行檔建置:
(1) cl.exe 1.cpp 2.cpp
1.obj : error LNK2019: 無法解析的外部符號 "int const i" (?i@@3HB)
在函式 _main中被參考
1.exe : fatal error LNK1120: 1 個無法解析的外部符號
(2) gcc 1.cpp 2.cpp
1.cpp:(.text+0x17): undefined reference to `i'
collect2.exe: error: ld returned 1 exit status
由此可見,重現此連結錯誤問題,根本不需要 array,多了 array 的參與,
反而轉移大家焦點而已。
--
要找答案可以如前面推文說的,去翻書。
但其實 google 一下就好了。
http://lmgtfy.com/?q=C%2B%2B+extern+const
(第一個 stackoverflow.com 的連結就有答案,BJ4)
http://lmgtfy.com/?q=C%2B%2B+%22const%22+documentation
(第一或第二個連結會是 MSDN 的文件,進去後沒幾個字,繼續點第一個子連結,BJ4)
跟 const 有關的東西,我承認,即便文件都有記載,也不是每件都廣為人知。
可是就 internal linkage 這個議題,畢竟是從 C 到 C++ 的重大改變,
理論上來說,每個相關文件都會把他擺在很顯眼的位置。
這個問題對非新手來說,很難自己查到答案,是嗎?
生於憂患,死於安樂。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.141.206
→
08/20 23:31, , 1F
08/20 23:31, 1F
→
08/20 23:31, , 2F
08/20 23:31, 2F
推
08/20 23:40, , 3F
08/20 23:40, 3F
http://www.catb.org/~esr/faqs/smart-questions.html#rtfm
沒有任何一個討論區,會允許同樣的問題被不斷重複,
這之間可以有模糊的地帶,可以是一次、兩次...但不會是每一次都隨便你重複發問。
即便到了 stackoverflow.com 去,爬文、作功課,認真詢問依然是基本的自我要求。
※ 編輯: purpose 來自: 124.8.129.217 (08/21 00:06)
→
08/21 00:28, , 4F
08/21 00:28, 4F
→
08/21 00:40, , 5F
08/21 00:40, 5F
→
08/21 00:41, , 6F
08/21 00:41, 6F
→
08/21 00:41, , 7F
08/21 00:41, 7F
→
08/21 00:42, , 8F
08/21 00:42, 8F
→
08/21 00:46, , 9F
08/21 00:46, 9F
→
08/21 00:49, , 10F
08/21 00:49, 10F
推
08/21 00:57, , 11F
08/21 00:57, 11F
推
08/21 01:53, , 12F
08/21 01:53, 12F
→
08/21 01:54, , 13F
08/21 01:54, 13F
→
08/21 01:55, , 14F
08/21 01:55, 14F
→
08/21 01:55, , 15F
08/21 01:55, 15F
→
08/21 01:56, , 16F
08/21 01:56, 16F
→
08/21 01:57, , 17F
08/21 01:57, 17F
→
08/21 01:57, , 18F
08/21 01:57, 18F
→
08/21 01:59, , 19F
08/21 01:59, 19F
推
08/21 02:02, , 20F
08/21 02:02, 20F
→
08/21 02:02, , 21F
08/21 02:02, 21F
→
08/21 02:03, , 22F
08/21 02:03, 22F
→
08/21 02:08, , 23F
08/21 02:08, 23F
→
08/21 02:09, , 24F
08/21 02:09, 24F
→
08/21 02:09, , 25F
08/21 02:09, 25F
推
08/21 06:02, , 26F
08/21 06:02, 26F
→
08/21 08:46, , 27F
08/21 08:46, 27F
→
08/21 08:46, , 28F
08/21 08:46, 28F
→
08/21 08:47, , 29F
08/21 08:47, 29F
→
08/21 08:48, , 30F
08/21 08:48, 30F
→
08/21 11:32, , 31F
08/21 11:32, 31F
→
08/21 11:34, , 32F
08/21 11:34, 32F
推
08/21 15:10, , 33F
08/21 15:10, 33F
→
08/21 15:11, , 34F
08/21 15:11, 34F
→
08/21 17:35, , 35F
08/21 17:35, 35F
→
08/21 17:43, , 36F
08/21 17:43, 36F
→
08/21 17:50, , 37F
08/21 17:50, 37F
→
08/21 17:54, , 38F
08/21 17:54, 38F
→
08/21 17:55, , 39F
08/21 17:55, 39F
→
08/21 17:56, , 40F
08/21 17:56, 40F
→
08/21 17:57, , 41F
08/21 17:57, 41F
→
08/21 17:58, , 42F
08/21 17:58, 42F
→
08/24 18:07, , 43F
08/24 18:07, 43F
→
08/24 18:09, , 44F
08/24 18:09, 44F
→
08/24 18:10, , 45F
08/24 18:10, 45F
→
08/24 18:13, , 46F
08/24 18:13, 46F
→
08/24 18:14, , 47F
08/24 18:14, 47F
→
08/24 18:15, , 48F
08/24 18:15, 48F
→
08/24 18:16, , 49F
08/24 18:16, 49F
→
08/24 18:18, , 50F
08/24 18:18, 50F
→
08/24 18:21, , 51F
08/24 18:21, 51F
→
08/24 18:21, , 52F
08/24 18:21, 52F
比如像這樣嗎
國立 XX 大學資訊工程系,資料結構
老師:「大家有問題嗎?」
同學A:「老師,指標不太懂,可以再講一遍嗎?」
老師:「好問題,指標很重要,我再解釋一遍……」
老師:「還有問題嗎?」
同學B:「老師,什麼是 struct, class?幹嘛用的?」
(回答……)
同學C:「老師,函數要怎麼寫?」
(回答……)
同學D:「老師,陣列可以解釋一下嗎?」
同學E:「老師,CPU、記憶體位址是什麼?」
同學F:「老師,那 codeblocks 要怎麼裝?都英文……」
同學G:「老師,十六進位也可以教一下嗎?」
同學H:「老師,要怎麼開專案,進入那個 Debugger 畫面?」
※ 編輯: purpose 來自: 124.8.141.96 (08/24 21:54)
推
08/25 01:19, , 53F
08/25 01:19, 53F
→
08/25 01:20, , 54F
08/25 01:20, 54F
→
08/25 01:20, , 55F
08/25 01:20, 55F
→
08/25 01:21, , 56F
08/25 01:21, 56F
→
08/25 01:22, , 57F
08/25 01:22, 57F
→
08/25 01:22, , 58F
08/25 01:22, 58F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):