看板 C_and_CPP 關於我們 聯絡資訊
就是我想要從我的副程式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
james732:我覺得你沒有弄懂 extern 跟 static 的意思 03/17 01:40
wowrz:恩亨 了解... 03/17 01:42
stupid0319:第一次看見在函數內用extern 03/17 09:18
tomnelson:變數scope錯誤... 03/17 10:35
iamstudent:extern是用來讓link抓其他檔案中的變數 03/17 13:39
iamstudent:所以應該是不會出現在函數內的 03/17 13:39
purpose:extern 只寫在特定函數內可以限制變數 scope,其他函數 03/17 14:27
purpose:沒 extern 就可以定義,取同樣名稱的區域變數 03/17 14:28
iamstudent:所以是有把extern寫在函數內的用法囉? 03/17 15:32
iamstudent:我查到了,真的可以這樣用 03/17 15:40
iamstudent:以前我一直以為是用來跨檔案分享global變數用的而已 03/17 15:40
iamstudent:不過extern是用來宣告的這一點還是沒問題 03/17 15:45
iamstudent:就用法上的感覺來說 03/17 15:46