[問題] 關於昨天上課的一問題

看板EE_DSnP作者 (翔燄)時間16年前 (2008/05/29 21:05), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
教授昨天舉了以下的例子 "a.h" class A { }; "a.cpp" void f(A* ){ } 此時我若想在"c.cpp"中的函式用a (a是指向A的pointer) 原本是這樣: void g(){ f(a) } 在不include a.h的狀況之下 需變成這樣: class A; void f(A*); extern A* a; void g(){ f(a) } 希望我上課的筆記沒寫錯 有錯請幫忙更正一下 謝謝 覺得吊詭的是 如果這是在c和cpp互call的話 c中又看不懂class 所以教授的意思是說要.cpp中 struct A ; void f(A*); extern A*a; 這樣的意思嗎? -- 感覺應該是這樣 但不敢確定所以po上來問一下orz -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.235

05/29 21:35, , 1F
除了 "void f(A*);" 不夠正確之外, 其它沒錯.
05/29 21:35, 1F

05/29 21:36, , 2F
可以 google 一下如何從 C++ 呼叫 C 的 function
05/29 21:36, 2F

05/29 22:14, , 3F
是要再加一個extern 變成extern void f(A*);這樣吧?
05/29 22:14, 3F

05/29 23:02, , 4F
你可以先這樣試試看...
05/29 23:02, 4F
文章代碼(AID): #18FgemFY (EE_DSnP)