我有一個初始化數組的部分問題,它是結構數組的一部分。 類型struct的是錯誤:'tU8 [0] {又名無符號字符[0]}'的初始化程序太多
typedef stuct {
unsigned char myarray[];
bool flag;
}myStructType;
我已經建立這種結構類型的陣列,並希望將其初始化
myStructType myStruct[2] = {
{
{5,6,7},
false
},
{
{1,2},
true
}
};
MYSTRUCT是一個配置結構,我通過所有的具有代碼,用於將環該結構的元素根據init值進行一些操作。
我在Linux嵌入式平臺上使用arm-v5te-linux-gnueabi-g ++編譯器。
的問題是,當我編譯的代碼,我得到以下錯誤
error: too many initializers for 'unsigned char [0]'
任何解決方案? 謝謝
什麼編譯器和平臺?這樣的成員是非標準的。 – Potatoswatter
你不需要在C++中使用'typedef struct {} name'技巧,你只需要'struct name {}'。你應該選擇一種語言或其他語言。 –
如果您使用C++進行編程,並且需要動態調整大小的數組,請使用['std :: vector'](http://en.cppreference.com/w/cpp/container/vector)。 –