gpt4 book ai didi

c - 让 x 宏与 do while 0 一起工作

转载 作者:行者123 更新时间:2023-11-30 14:49:14 25 4
gpt4 key购买 nike

我正在尝试使 x 宏与 do while 0 as checkpatch.pl 一起使用对此感到不高兴。然而,它打破了逻辑。想知道是否有人有任何建议使其发挥作用?

#define X_TYPES do { \
X(BABA, "baba") \
X(INVALID, "invalid") \
} while (0)

#define X(type, name) type,
enum x_type {
X_TYPES
};
#undef X
#define X(type, name) name,
const char *x_name[] = {
X_TYPES
};
#undef X

int main()
{
return 0;
}

最佳答案

您不能使用 do while(0) 包装 X 宏,因为对于其预期的枚举用例而言,它在语法上不正确。

在检查器脚本中寻求异常机制,或者将 X 宏放入不被检查的单独源文件中。

关于c - 让 x 宏与 do while 0 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49784929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com