gpt4 book ai didi

c - 为什么这个宏不像我想象的那样工作?

转载 作者:行者123 更新时间:2023-12-05 08:30:32 25 4
gpt4 key购买 nike

我对 C 还是有点陌生​​,所以请多多包涵。

我正在尝试能够通过索引引用结构的元素。我认为宏可以解决问题,但显然不行。谁能解释为什么以下内容不起作用?

#include <stdio.h>

#define E(Structure, Index) Structure.var_Index

typedef struct test{
int var_0;
}TEST;

int main(){
TEST Test;

E(Test, 0) = 0;

return(0);
}

我的 IDE 显示“在‘struct test’中没有名为‘var_Index’的成员”,但我在宏中的 Index 一词前面没有#。

最佳答案

合并 token 是用##

完成的

以下更改应该有效:

#define E(Structure, Index) Structure.var_##Index

关于c - 为什么这个宏不像我想象的那样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63688982/

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