私は定義が嫌いです。古いコード ベースからそれらをできるだけ多く排除するために、配列を含む構造体を定義するためにenum-hackに頼る必要があります。残念ながら、問題のある .h ファイルが C プロジェクトに含まれている場合、コンパイルできません。
typedef struct _P_O {
enum { MAXELEMENTS=10 };
P_O_U elem;
ULONG id[MAXELEMENTS];
USHORT nid;
} P_O, *PP_O;
これにより、エラーC2208が生成されます。
'type' : この型を使用して定義されたメンバーはありません 型名
に解決される識別子が集約宣言に含まれていますが、コンパイラはメンバーを宣言できません。
OT: 私は 10 歳のコンパイラを使うのが嫌いで、古い C コードや悪い設計も維持しなければなりません。定義するだけではありません:)