错误:初始化元素在加载时不可计算

时间:2011-09-20 21:30:20

标签: c arrays compiler-errors

我不断收到编译错误:初始化元素在加载时是不可计算的。

我正在使用MPLAB C30编译器。在其他代码中,通过在数组声明的括号内使用10来解决此错误,但由于某种原因,这在此处不起作用。

有没有人有任何建议?谢谢!

KEYDEF KDEF_scrn00_Home[10] =
{
//Value, Action,               Link
    {0, KACT_Power,  0 } // key # 
   ,{0, KACT_GotoScreen, (void *) &SCRN_scrn01_Zone1} // key # 1
   ,{0, KACT_None,  0 } // key # 2
   ,{0, KACT_None,  0 } // key # 3
   ,{0, KACT_GotoScreen, (void *) &SCRN_scrn06_mode} // key # 4
   ,{0, KACT_GotoScreen, (void *) &SCRN_scrn04_ice} // key # 5
   ,{0, KACT_None,  0 } // key # 6
   ,{0, KACT_GotoScreen, (void *) &SCRN_scrn08_alarm} // key # 7
   ,{0, KACT_None,  0 } // key # 8
   ,{0, KACT_None,  0 } // key # 9
};

1 个答案:

答案 0 :(得分:0)

看起来你的编译器可能没有使用C99模式。启用C99模式时,此类初始化应该没问题。