在C中,我有这样的陈述:
unsigned char const Alpha[6][2] = (unsigned char)({
{ 0x90f }, { 0x92c, 0x940 }, { 0x938, 0x940 },
{ 0x921, 0x940 }, { 0x908 }, { 0x90f, 0x92b }
});
但它产生的错误为braced-group within expression allowed only inside a function
。
任何人都可以提出补救措施。
注意: Alpha
是一个全局常量,因此它不在任何函数之内。
答案 0 :(得分:0)
您不需要复合文字,而且您的值对于unsigned char
而言太大,请更改为:
unsigned short int const Alpha[][2] = {
{ 0x90f }, { 0x92c, 0x940 }, { 0x938, 0x940 },
{ 0x921, 0x940 }, { 0x908 }, { 0x90f, 0x92b }
};
答案 1 :(得分:0)
unsigned char const Alpha[6][2] = {
{ 0x90f & 0xFF }, { 0x92c & 0xFF , 0x940 & 0xFF }, { 0x938 & 0xFF, 0x940 & 0xFF },
{ 0x921 & 0xFF, 0x940 & 0xFF }, { 0x908 & 0xFF }, { 0x90f & 0xFF, 0x92b & 0xFF }
};