看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visul C++ 問題(Question): 使用extern的時候一直出現無法解析外部符號, 但我已經有include需要的.cpp檔了 程式碼(Code):(請善用置底文網頁, 記得排版) 在B.cpp中的宣告: typedef struct A{ ...... }A; -------------------------- 在test.cpp中使用: 宣告: extern struct A a; //struct A是在B.cpp檔中 呼叫: func(a); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.60.254.38
james732:把 extern 拿掉? 06/22 16:35
loveme00835:include .cpp ? 06/22 16:36
littleshan:你沒在.cpp中定義a 06/22 16:41
angleevil:= =把test.cpp中的#inlcude "B.cpp"拿掉,應該就可以吧 06/22 16:45
angleevil:extern struct A a->extern A a,~"~ 06/22 16:48
chenroseyaks:我以前在工作站用過include .c及.cpp的寫法,可以過 06/22 17:05
james732:一定可以過,但不應該這麼做 06/22 17:06
chenroseyaks:但用Virtul C++就出現warning 06/22 17:06
james732:你要分清楚 header file 跟 source file 的差別 06/22 17:07
angleevil:are you sure?只是warning? 我用vc 2005和g++是error喔 06/22 17:07
james732:#include 應該只對 header file 使用 06/22 17:07
chenroseyaks:我的是2008,是warning 06/22 17:10
chenroseyaks:再次謝謝james大 06/22 17:11
james732:我覺得什麼忙都沒幫到 (笑) 06/22 17:12
angleevil:好人都不知道自己的好,嘆氣 06/22 17:15
james732:我想要競選板主,然後把板名改掉 06/22 17:16
angleevil:~"~直接跟版主說,板名改掉就好.然後你的好人移除掉 06/22 17:18
angleevil:以後就沒人提起這話題,乖.不要哭 06/22 17:18
james732:哭 06/22 17:19
purpose:改板名要先抓交替 06/22 17:31
ericinttu:這個版好恐怖,都要抓交替的。 誤 06/22 17:36
angleevil:~"~交替應該是必要吧!每個強者最後都被工作抓走. 06/22 19:26
angleevil:不交替...會大亂的. 06/22 19:26
firejox:交給強大守門員 誤 06/22 20:12
firejox:假如test與B是同一個目錄下的話 06/22 20:18
firejox:在B裡宣告struct A a;應該也可以跑 06/22 20:19