推 Ebergies:應該是 typedef 不能吧... 06/10 13:48
推 zlw:如果你不喜歡在main.cpp放extern "C"那可以學stdio.h的作法 06/10 13:50
→ QQ29:我拿掉typedef 可以過了?但是 原因差別在哪呢@@ 06/10 13:50
→ zlw:#ifdef __cplusplus (詳細的你google吧,推文不好講) 06/10 13:50
→ zlw:這樣做就可以像stdio.h一樣,不管是C或C++去include該檔都沒ok 06/10 13:51
推 Ebergies:C++ 不用 typedef, struct 直接就可以用了 06/10 13:51
→ zlw:修正:去include該檔都沒問題 06/10 13:52
→ Ebergies:如果加了反而會變成兩個不同的東西有相同的名字 06/10 13:52
→ QQ29:你好~typedef我認知是 定義struct並且給一個(以上)別名之類的 06/10 14:04
→ QQ29:我是不清楚 看很多他人寫的程式都很愛使用typedef struct 06/10 14:05
→ QQ29:但是實際上的好處以及在我問的問題上 差異在哪裡!! 06/10 14:05
推 Ebergies:定義 struct 不需要使用到 typedef, typdef 只是定義別名 06/10 14:16
推 zlw:C語言不像C++可以直接這樣寫 struct s1{s1 *p2s1;}; 06/10 14:23
→ zlw:只能 typedef struct{int a;} s1; 來定義一個struct類型叫s1 06/10 14:24
→ zlw:要做node就要這樣 typedef struct s1{ struct s1 *p; } S2; 06/10 14:26
→ QQ29:謝謝各位 ~我用了typedef的話我在.h那樣寫 為什麼會認不到 06/10 14:40
→ QQ29:在沒有extern"C"的情況下.... 06/10 14:41
推 Ebergies:因為它會找到兩個 FU 06/10 14:51
→ Ebergies:一個是 typedef struct FF { blah } FU; 06/10 14:51
→ Ebergies:一個是 struct FU; 06/10 14:51
→ Ebergies:而這兩個 FU 定義是不同的, 一個是 struct FF 一個是 FU 06/10 14:52
→ QQ29:所以說struct FU是定義嚕? 06/10 14:55
→ QQ29:class FU的話是宣告 struct是定義? 06/10 14:56
推 Ebergies:是宣告, 但你宣告了 FU 是 struct 結果定義它其實是別名 06/10 14:59
推 Ebergies:看下篇 littleshan 寫的吧~ 比較清楚 lol 06/10 15:01