私はいくつかの古いコードのリファクタリングに取り組んでおり、長さゼロの配列を含む構造体をいくつか見つけました (以下)。もちろん、プラグマによって抑制された警告ですが、そのような構造を含む「新しい」構造を作成できませんでした (エラー 2233)。配列 'byData' がポインターとして使用されていますが、代わりにポインターを使用しないのはなぜですか? または長さ1の配列?そしてもちろん、プロセスを楽しむためのコメントは追加されていません...そのようなものを使用する理由はありますか? それらをリファクタリングする際のアドバイスはありますか?
struct someData
{
int nData;
BYTE byData[0];
}
注意: C++、Windows XP、VS 2003 です。