多くのメンバーとさまざまなタイプの構造体があります(20個のメンバーのようです):
enum TheEnum
{
FIRST = 0,
SECOND,
...
}
struct TheStruct
{
TheEnum z; // <--- the point !!! note that this is the first member (edited)
int a;
int b;
char c[32];
...
}
列挙型のメンバーがあるため、次のように宣言することはできません。
TheStruct Object = {0};
コンパイル エラーが発生しますが、私の意見では、この初期化が最善の方法です。
私が考えることができる他の方法は次のとおり
です。 1.ZeroMemory
それは、しかし、私はこれが好きではありません。
2. コンストラクターを作成しますが、これには多くの作業が必要です。
3. 初期化しないでください。
では、列挙型の問題を解決する方法はありますか? これら3つの方法を選択する必要がありますか?
ありがとう!
編集:私の大きな間違いです。エラーはTheEnum
、最初のメンバーとして存在する場合にのみ発生します。
vs2008 を使用して C++ コードとしてコンパイルされています。
エラーは C2440 です。http://msdn.microsoft.com/en-us/library/sy5tsf8z%28v=VS.80%29.aspx