[英]I want to use enum in macro
enum ArgPos
{
P1 = 1,
P2 = 2,
P3 = 3
};
void fun(int, int, int);
#define FUN(ArgPos, ArgPos, ArgPos) fun(ArgPos, ArgPos, ArgPos)
int main(void)
{
FUN(P1, P2, P3);
return 0;
}
void fun(int a, int b, int c)
{
printf("fun");
}
定義(如果您真的這樣寫的話)使用args相同名稱時出錯
應該
#define FUN(ArgPos1, ArgPos2, ArgPos3) fun(ArgPos1, ArgPos2, ArgPos3)
您將enum
和宏參數命名為相同。
你需要:
#define FUN(x,y,z) fun(x,y,z)
問題不在於枚舉,而是與您的宏:
#define FUN(x,y,z) fun(x,y,z)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.