gpt4 book ai didi

根据其他结构成员创建结构

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

我有一个用 typedef 定义的结构

typedef struct 
{
uint16_t x;
uint16_t y;
uint16_t width;
uint16_t height;
}TArea;

现在我想创建一些相互依赖的区域。类似的东西

AreaDefs.h

extern TArea UI_AREA_1;
extern TArea UI_AREA_2;

AreaDefs.c

TArea UI_AREA_1 = {.x = 0, .y = 0, .width = 5, .height = 10};
TArea UI_AREA_2 = {.x = UI_AREA_1.x, .y = 200, .width = 5, .height = 10};

为什么我收到“错误:表达式必须具有常量值”以及什么是更好的解决方案?我不想做类似的事情

#define X_VAL 0
TArea UI_AREA_1 = {.x = X_VAL, .y = 0, .width = 5, .height = 10};
TArea UI_AREA_2 = {.x = X_VAL, .y = 200, .width = 5, .height = 10};

因为在我的实际应用程序中,我不仅仅有这两个相互依赖的领域。

最佳答案

初始化变量时,初始化器不能是另一个变量的值,即使该变量被定义为 const。它必须是一个常数值。

您能做的最好的事情就是第二个示例的操作:使用#define将某些变量初始化为相同的值。

关于根据其他结构成员创建结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44801980/

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