2
以下代碼是上VC好++ 2012Variadic宏需要一個無意義的宏讓它工作?
#include <algorithm>
#define MAX_OF_2(a,b) std::max(a,b)
#define FOO(a) a
// work
#define MAX2(...) FOO(MAX_OF_2(__VA_ARGS__))
// Not work
// #define MAX2(...) MAX_OF_2(__VA_ARGS__)
int main()
{
int i = MAX2(1,2);
}
它不能在不使用FOO
宏編譯。它顯示了MAX_OF_2
的實際參數。編譯器爲什麼或者有什麼錯誤?