我正在尝试使用以下方法对一组嵌套结构进行 typedef:
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“缺少';' 前 '。'。
typedef 的想法是使用一个名称轻松管理类型定义(在指针、原型等中)到 _A._Sim._In……如果编译器允许,这似乎是 typedef 的完美用途。
与使用整个嵌套名称 (_A._Sim._In) 相比,如何使用一个名称引用嵌套结构以使指针管理和类型规范更容易?