これを使用して、ネストされた構造体のグループを型定義しようとしています:
struct _A
{
struct _Sim
{
struct _In
{
STDSTRING UserName;
VARIANT Expression;
int Period;
bool AutoRun;
//bool bAutoSave;
} In;
struct _Out
{
int Return;
} Out;
} Sim;
} A;
typedef _A._Sim._In SIM_IN;
問題は、VS2010 のエディターが気に入っていることです。typedef の要素を認識し、関数のパラメーターとして含めることができますが、ビルドすると、最初に警告 C4091 (変数が宣言されていない場合は左側で無視されます) が表示され、次にエラー C2143 "missing ';' が発生します。前 '。'。
typedef の考え方は、_A._Sim._In への型定義 (ポインター、プロトタイプなど) を 1 つの名前で簡単に管理できるようにすることです。
ネストされた構造体を 1 つの名前で参照して、ネストされた名前全体 (_A._Sim._In) を使用するよりもポインター管理と型指定を簡単にするにはどうすればよいですか?