[問題] C與C++混合 Release Mode出問題

看板C_and_CPP (C/C++)作者 (木筏)時間16年前 (2010/04/21 15:36), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 在debug mode的時候,只要在c的.h裡面加上extern "C"就沒問題了 但是到了release mode時同樣的錯又出來了 在cstdlib(21): error C2143 ... missing '{' before ':' error C2059 ... ':' ... 希望得到的正確結果: Compile successed 程式跑出來的錯誤結果: 如上所述 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VS2008, Windows 有問題的code: (請善用置底文標色功能) 出問題的部分當然都在.cpp檔 裡面有include C的header跟cpp的header 補充說明: 謝謝回答! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.185

04/21 21:37, , 1F
你是不是 extern "C" { } 的大括號連 #include 都包到?
04/21 21:37, 1F

04/21 21:38, , 2F
還有要特別注意 #ifdef __cplusplus 要放對位置。
04/21 21:38, 2F

04/22 00:17, , 3F
我只把.h裡函數的部分包起來而已
04/22 00:17, 3F
文章代碼(AID): #1Bpghs-- (C_and_CPP)
文章代碼(AID): #1Bpghs-- (C_and_CPP)