【发布时间】:2013-02-28 23:50:29
【问题描述】:
我正在尝试使用以下方法对一组嵌套结构进行 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) 相比,如何使用一个名称来引用嵌套结构以使指针管理和类型说明更容易?
【问题讨论】:
-
我刚刚修复了它..替换了“。”与“::”
-
嗨 Nux...我需要类型和变量信息。我对结构如何工作的理解是顶部是类型,底部是变量(如果你想要的话)。在我的情况下,我需要定义类型和变量。
-
我会玩的。感谢您的提醒。
-
@brimaa 请记住将您问题的答案作为答案发布并接受。