作者BattleRoyale (翔燄)
看板EE_DSnP
標題[問題] 關於昨天上課的一問題
時間Thu May 29 21:05:51 2008
教授昨天舉了以下的例子
"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
推 ric2k1:除了 "void f(A*);" 不夠正確之外, 其它沒錯. 05/29 21:35
→ ric2k1:可以 google 一下如何從 C++ 呼叫 C 的 function 05/29 21:36
→ BattleRoyale:是要再加一個extern 變成extern void f(A*);這樣吧? 05/29 22:14
推 ric2k1:你可以先這樣試試看... 05/29 23:02