編譯警告 warning: extra tokens at end of #undef 解決

#define MAX(a,b) ((a)>(b)?(a):(b))
#undef  MAX(a,b)

#define MAX(a,b) ((a)<(b)?(a):(b))

這樣寫編譯時就會出現如標題所示的警告

把第二句改成: #undef MAX 則不會出現 因爲按照C標準的說法,撤銷宏定義的語法爲#undef name ,其中name是宏名,僅僅是宏名

編譯器:gcc 4.6.3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章