以下代码必须在主函数中使用,但我不知道它是如何使用的。如何在ANSI C中的结构中使用枚举?
struct SomeItem
{
enum {MOVIE, MUSIC} itemType;
union {
struct Movie* movie;
struct Music* music;
};
};
这个结构,与先前/项目/下一指针动态链接列表中,但我不知道如何设置枚举。或者如何初始化它。
我需要知道它在主函数中的样子。
biglist.someitem = ???;
/* declaration I use */
struct Library* biglist;
更多的代码来理解我试图做什么。
struct Library{
struct SomeItem* someitem;
struct SomeItem* previousItem;
struct SomeItem* nextItem;
};
编译器错误: C2037:左 'someitem' 的规定未定义的结构/联合 '图书馆' C2065:电影:未声明的标识符
我还在上ANSI C新秀,所以不要拍我确定)
是否有一个原因,你不想在struct声明之外使用'typedef enum'? – nmichaels 2010-07-27 15:26:23
那么在编译器的实际失败代码行上? http://catb.org/esr/faqs/smart-questions.html – Dummy00001 2010-07-27 15:29:40
对于第一个错误,你没有显示编译器在抱怨的那一行。对于第二个错误,或者'struct'的定义在那个时候是不可见的,或者你正试图用C++编译器构建C代码。请发布更多的节目。很难做心理调试。 – 2010-07-27 15:30:06