小编use*_*807的帖子

错误:表达式必须具有常量值

我需要一些帮助来找到如何解决此错误。

typedef struct {
    const char *iName;
    const char *iComment;
} T_Entry;

const T_Entry Menu_PowerSupply = { "PWRS", "Power supply"};

static const T_Entry G_Commands[] = {
    { "MEM", "Memory"},
    {Menu_PowerSupply.iName,Menu_PowerSupply.iComment},
    { "SYS", "System"}
};
Run Code Online (Sandbox Code Playgroud)

我收到错误:表达式必须具有常量值 我该如何解决这个问题?

对我来说,链接时间是已知的,并且位于具有固定值的固定地址:我错了吗


我的目的是将以下代码放入库中

const T_Entry Menu_PowerSupply = { "PWRS", "Power supply"};
Run Code Online (Sandbox Code Playgroud)

以下也不起作用

static const T_Entry G_Commands[] = {
    { "MEM", "Memory"},
    Menu_PowerSupply,
    { "SYS", "System"}
};
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助我理解这个非常量值......

c arrays compiler-errors constants

4
推荐指数
1
解决办法
3万
查看次数

标签 统计

arrays ×1

c ×1

compiler-errors ×1

constants ×1