【发布时间】:2018-06-19 02:07:03
【问题描述】:
这是一个简单的演示。但是 Xcode 向我显示了错误“粘贴形成的 '->client_port',一个无效的预处理令牌 从宏“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;
}
【问题讨论】:
-
您认为
cfg->##column是什么意思?##(令牌连接)对我来说似乎毫无意义。你的意思是cfg->column? -
注意
new server_config是C语言的语法错误。