我需要一些幫助來找到如何解決這個錯誤。錯誤:表達式必須有一個常數值
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"}
};
我得到了錯誤:表達式必須有一個恆定的值 我該如何解決這個問題?
對我來說,在連接時是已知的,在一個固定值的一個固定地址:我錯了
我的目的是把下面的代碼庫
const T_Entry Menu_PowerSupply = { "PWRS", "Power supply"};
的以下不工作
static const T_Entry G_Commands[] = {
{ "MEM", "Memory"},
Menu_PowerSupply,
{ "SYS", "System"}
};
如果有人能幫我理解這個個非const的值...
一個數組的指針,那麼你就可以初始化數組不'Menu_PowerSupply'成爲多餘的嗎?!由於'MENU_PWRSPLY_NAME'&'MENU_PWRSPLY_COMMENT'被_基本替換。 – 2014-08-28 09:28:56
@SaurabhMeshram這取決於'Menu_PowerSupply'是否在其他地方使用。 – user694733 2014-08-28 09:34:01