具體來說,我的問題是,給出這個宏:演員陣容會在C中失敗嗎?
#define FAKE_VAL(type) ((type)0)
...有沒有的type
任何值(包括結構,函數指針,等等),其中FAKE_VAL(type)
會導致編譯時錯誤?
我在問,因爲我有一個宏將一個函數指針作爲參數,並且需要找到它的返回值的大小。我知道函數指針發生的種類和數量的參數,所以我打算寫類似:
sizeof(fptr(FAKE_VAL(arg_type_1), FAKE_VAL(arg_type_2)))
arg_type_1
和2
可能是從字面上任何東西。
我想我們在'type'中排除'';;''或'2'的值,對吧? – user2357112
@ uaer2327112:yep – Functino