在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是全局常量,因此它在任何函数之外。

最佳答案

您不需要复合文字,并且您的值对于unsigned char而言太大,请更改为:

unsigned short int const Alpha[][2] = {
     { 0x90f }, { 0x92c, 0x940 }, { 0x938, 0x940 },
     { 0x921, 0x940 }, { 0x908 }, { 0x90f, 0x92b }
};

关于c - C错误: braced-group within expression allowed only inside a function,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25380352/

10-09 17:18