単一の要素を void 構造に初期化すると、正常に動作します。
void* CMD_ARRAY[] =
{
{"+++\r"},
{"+++\r"},
{"+++\r"},
};
ただし、構造にさらに要素を追加しようとすると、次のようになります。
void* CMD_ARRAY[] =
{
{"+++\r" , 4, 1300},
{"+++\r" , 4, 1300},
{"+++\r" , 4, 1300},
};
これにより、エラーが発生します。
「}」が必要です
最初の例のような単一の要素と、構造体 (要素とも見なされる) の構造体の違いは何ですか?
この void 構造を混合型で初期化するにはどうすればよいですか?
更新:だから、コンパイラは同じ要素で異なる型を処理する方法を知らないことを理解しています。この定義の外で構造を実際に定義せずに (つまり、構造体の配列を使用して)、これらの型をオンザフライで (つまり、キャストを使用して) 定義する方法はありますか?