[問題] Function-like macro 無展開?

看板C_and_CPP (C/C++)作者 (張昱珩)時間12年前 (2013/11/14 22:48), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux, GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 不清楚 問題(Question): 看到 http://ppt.cc/b9Yx 第 15 行 define 了一個 macro,但卻沒有指明定義為什麼, 下面卻又有用到,請問為什麼要定義這個 macro、下面 call 這個 macro 會發生什麼事? 餵入的資料(Input):預期的正確結果(Expected Output):錯誤結果(Wrong Output):程式碼(Code):(請善用置底文網頁, 記得排版) 如問題所述 補充說明(Supplement): 自己寫了下面的程式並用 gcc -E -P 比對有無 call macro 的差別,發現只差了一行。 #define abc(x, y) int main() { abc(1, 2) } -- http://changyuheng.github.io/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.141.119.69

11/14 23:03, , 1F
後面沒東西 就是會被替換成沒東西
11/14 23:03, 1F

11/14 23:04, , 2F
這個定義是#ifndef才會去定義 原本有定義就不會這樣
11/14 23:04, 2F

11/15 22:14, , 3F
謝謝!
11/15 22:14, 3F
文章代碼(AID): #1IXEAlDM (C_and_CPP)
文章代碼(AID): #1IXEAlDM (C_and_CPP)