Frage zu Forwards
-
Hallo,
ich habe hier einen "Zirkelbezug".
Ich schreibe eine Klasse für Emails (Visual Studio 2008 Standard).
Eine Email besteht aus einem Header und einem Body.
Dieser Body kann nun wieder aus verschiedenen Elementen bestehen die quasi auch wieder Emails sind (MIME) und Header und Body haben.struct EmailMIMEPart { CString m_Name; Email m_Email; }; typedef CList <EmailMIMEPart, EmailMIMEPart> EmailMIMEPartList; class Email { public: Email(); private: CString m_Header; CString m_Body; EmailMIMEPartList m_MimePartList; }Das geht natürlich so nicht. Ich bekomme das mit dem Forward aber leider nicht hin. Kann mir bitte Jemand helfen?
Vielen Danke
Stefan
-
Hallo Stefan,
Um das Problem zu lösen, müsstest du vor der Definition der Struktur
EmailMIMEPart die Klasse Email bekanntmachen. Das könnte dann so aussehen:class Email; struct EmailMIMEPart { CString m_Name; Email *m_Email; };Beachte, dass die Struktur nur einen Zeiger auf Email enthalten kann, da die Größe von der Klasse Email zum Zeitpunkt, zu dem die Struktur definiert wird, noch nicht bekannt ist.
MfG, Jochen
-
Es geht aber auch anders rum:
struct EmailMIMEPart; typedef CList <EmailMIMEPart, EmailMIMEPart> EmailMIMEPartList; class Email { public: Email(); private: CString m_Header; CString m_Body; EmailMIMEPartList m_MimePartList; } struct EmailMIMEPart { CString m_Name; Email m_Email; };
-
Danke Euch Beiden!