gpt4 book ai didi

c - 如何在宏中使用##?

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

这是一个简单的演示。但是 Xcode 向我显示错误 'pasting formed '->client_port', an invalid preprocessing token从宏“PARSE_COLUMN”扩展而来cfg->##column = 值'

我只想快速为我的结构设置值,'cfg->##column = value' 有什么问题

#include <stdio.h>

#define PARSE_COLUMN( column, value ) \
printf("parse column:%s\n",#column);\
cfg->##column = value

typedef struct {
int client_port;
} server_config;

int main(void) {
server_config *cfg = new server_config;
PARSE_COLUMN(client_port,123);
return 0;
}

最佳答案

## 用于连接两个宏参数,例如 column##value 将与上面代码中的 client_port123 交换。

这里可以不用,直接写cfg->column = value即可。

关于c - 如何在宏中使用##?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919715/

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