作者wowrz (哈哈哈)
看板C_and_CPP
標題[問題] extern 回傳值得問題...
時間Sat Mar 17 01:39:19 2012
就是我想要從我的副程式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