gpt4 book ai didi

c - C 中的嵌套宏

转载 作者:太空宇宙 更新时间:2023-11-04 00:17:13 24 4
gpt4 key购买 nike

#include<stdio.h>
#define A(int x) printf("%d\n",x)
#define AS(A) A(20)
typedef struct{
int *m;
int n;
int k;
}st;
//static st sb[10] = {AS(A)}
int main()
{
AS(A);
return 0;
}

我收到如下错误。

Line 14: error: macro parameters must be comma-separated

请帮忙。

最佳答案

这与嵌套宏无关。问题是

#define A(int x) printf("%d\n",x)

您必须删除 int 部分。像这样:

#define A(x) printf("%d\n",x)

如果您保留 int,预处理器会将其解释为另一个参数,这就是它告诉您的原因

Line 14: error: macro parameters must be comma-separated

因为期望:

#define A(int,x) printf("%d\n",x)

关于c - C 中的嵌套宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064151/

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