[問題] extern 回傳值得問題...

看板C_and_CPP (C/C++)作者 (哈哈哈)時間14年前 (2012/03/17 01:39), 編輯推噓6(607)
留言13則, 6人參與, 最新討論串1/1
就是我想要從我的副程式count()那邊裡面設一個 變數叫做 ha 然後用extern把值回傳給main 但卻出現這個錯誤: bb.obj : error LNK2001: unresolved external symbol "double ha" (?ha@@3NA) Debug/11.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. Creating browse info file... ------------------------------------------------------------------------- 程式碼: #include <stdio.h> void count(void); int main(void) { count(); extern double ha; printf("%lf",ha); return 0; } void count(void) { static double ha=10; static int c = 1; printf("%d\n", c); c++; } 還是不太清楚是為什麼@@ 有請高人指點迷津... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.16.166

03/17 01:40, , 1F
我覺得你沒有弄懂 extern 跟 static 的意思
03/17 01:40, 1F

03/17 01:42, , 2F
恩亨 了解...
03/17 01:42, 2F

03/17 09:18, , 3F
第一次看見在函數內用extern
03/17 09:18, 3F

03/17 10:35, , 4F
變數scope錯誤...
03/17 10:35, 4F

03/17 13:39, , 5F
extern是用來讓link抓其他檔案中的變數
03/17 13:39, 5F

03/17 13:39, , 6F
所以應該是不會出現在函數內的
03/17 13:39, 6F

03/17 14:27, , 7F
extern 只寫在特定函數內可以限制變數 scope,其他函數
03/17 14:27, 7F

03/17 14:28, , 8F
沒 extern 就可以定義,取同樣名稱的區域變數
03/17 14:28, 8F

03/17 15:32, , 9F
所以是有把extern寫在函數內的用法囉?
03/17 15:32, 9F

03/17 15:40, , 10F
我查到了,真的可以這樣用
03/17 15:40, 10F

03/17 15:40, , 11F
以前我一直以為是用來跨檔案分享global變數用的而已
03/17 15:40, 11F

03/17 15:45, , 12F
不過extern是用來宣告的這一點還是沒問題
03/17 15:45, 12F

03/17 15:46, , 13F
就用法上的感覺來說
03/17 15:46, 13F
文章代碼(AID): #1FOthAy8 (C_and_CPP)
文章代碼(AID): #1FOthAy8 (C_and_CPP)