gpt4 book ai didi

将设置_与地址连接

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

我在将设置_与地址连接起来(然后用于映射到结构类型)时遇到了一些麻烦:

我使用:

#define ADDR_TO_SETTING(ADDR) { #ADDR, setting_ ## ADDR}

然后我有一个结构体和一个枚举:

typedef struct
{
uint8_t setting_ADDR_LOG_ACTIVE;
} settings_t

typedef enum
{
ADDR_LOG_ACTIVE=0
} addr_e

其用法如下:

settings_t settings;

settings.ADDR_TO_SETTING(ADDR_LOG_ACTIVE) = false;

我总是在 header 中遇到编译器错误,其中的定义是:“在 '{' 标记之前需要标识符或 '('”。我在这里做错了什么?

最佳答案

使用你的宏

#define ADDR_TO_SETTING(ADDR) { #ADDR, setting_ ## ADDR}

线

settings.ADDR_TO_SETTING(ADDR_LOG_ACTIVE) = false;

扩展为

settings.{ "ADDR_LOG_ACTIVE", setting_ADDR_LOG_ACTIVE} = false;

这是一个语法错误(特别是 .{ 部分)。

你预计会发生什么?

关于将设置_与地址连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56609370/

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