Poniższy kod musi być użyty w funkcji głównej, ale nie wiem, w jaki sposób jest używany.Jak używać wyliczenia wewnątrz struktury w ANSI C?
struct SomeItem
{
enum {MOVIE, MUSIC} itemType;
union {
struct Movie* movie;
struct Music* music;
};
};
tej struktury jest używany w dynamicznej listy połączonej z poprzedniej/następnej pozycji/wskaźnik, ale nie wiem, jak można ustawić enum. Lub jak go zainicjować.
Muszę wiedzieć, jak to będzie wyglądać w funkcji głównej.
biglist.someitem = ???;
/* declaration I use */
struct Library* biglist;
więcej kodu, aby zrozumieć, co próbuję zrobić.
struct Library{
struct SomeItem* someitem;
struct SomeItem* previousItem;
struct SomeItem* nextItem;
};
błędy kompilatora: C2037: left of 'someitem' określa niezdefiniowany struct/Unii 'bibliotekę' C2065: Film: identyfikator nielegalna
Im jeszcze żółtodziobem na ANSI C, więc nie zastrzel mnie ok ;)
Czy istnieje powód, dla którego nie chcesz używać "typedef enum" poza deklaracją struct? – nmichaels
Więc na jakiej linii kodu kompilator faktycznie zawiedzie ??? http://catb.org/esr/faqs/smart-questions.html – Dummy00001
W przypadku pierwszego błędu nie pokazano linii, na którą kompiluje się skarga. W przypadku drugiego błędu albo definicja 'struct' nie jest widoczna w tym momencie, albo próbujesz zbudować kod C z kompilatorem C++. Opublikuj więcej swojego programu, proszę. Ciężko jest przeprowadzić debugowanie psychiczne. –