struct customFunction {
int id;
int numOfSubfunctions;
int subfunctions[];
};
const customFunction supportedFunctions[] = {
{
0x01,
1,
{
0x01
}
},
{
0x02,
2,
{
0x01,
0x02
}
}
...
};
supportedFunctions
数组将用于检查将来是否支持特定功能,并用于识别要使用的功能等。
目前,我出现此错误:
'int [0]'
的初始化程序太多了
指向
{
0x01
}
对于任何功能,可能有0 - n
个子功能。
答案 0 :(得分:0)
这永远不会奏效。同一数组中的多个customFunction
元素不能为其subfunctions[]
成员提供不同的大小。数组元素的大小必须相同。
如果customFunction
元素需要具有不同大小的subfunctions[]
数组,则必须将实际数组存储在内存中,然后指向它们,例如:
struct customFunction {
int id;
int numOfSubfunctions;
const int *subfunctions;
};
const int subfunctions_1[] = {
0x01
};
const int subfunctions_2[] = {
0x01,
0x02
};
const customFunction supportedFunctions[] = {
{
0x01,
1,
subfunctions_1
},
{
0x02,
2,
subfunctions_2
}
...
};