我試圖重載函數與C11 _Generic
宏是這樣的:使用在C11的_Generic宏無法
int isPrim_int (int num);
int isPrim_lint (long int num);
int isPrim_llint (long long int num);
#define isPrim(_1, ...) _Generic((_1), \
int: isPrim_int, \
long int: isPrim_lint, \
long long int: isPrim_llint)
但對於使用isPrim()
總是返回1,使用特定的三種功能isPrim_int
當某種原因,isPrim_lint
和isPrim_llint
它按預期工作。任何線索什麼是錯誤的我使用宏?
非常感謝!
你怎麼稱呼它?呼叫代碼怎麼沒有顯示? – AnT
我測試了三個函數本身的函數實現,所以我認爲錯誤是與宏實現和實際功能不相關的問題;) –