Wie erkläre ich eine innere Klasse weiter? [Duplikat]
Mögliche Duplikate:
Forward-Deklaration von verschachtelten Typen / Klassen in C ++
Ich habe so eine Klasse ...
<code>class Container { public: class Iterator { ... }; ... }; </code>
An anderer Stelle möchte ich einen Container :: Iterator als Referenz übergeben, aber die Header-Datei nicht einschließen. Wenn ich versuche, die Klasse weiterzuleiten, erhalte ich Kompilierungsfehler.
<code>class Container::Iterator; class Foo { void Read(Container::Iterator& it); }; </code>
Das Kompilieren des obigen Codes gibt ...
<code>test.h:3: error: ‘Iterator’ in class ‘Container’ does not name a type test.h:5: error: variable or field ‘Foo’ declared void test.h:5: error: incomplete type ‘Container’ used in nested name specifier test.h:5: error: ‘it’ was not declared in this scope </code>
Wie kann ich diese Klasse weiterleiten, damit ich die Header-Datei, die die Iterator-Klasse deklariert, nicht einfügen muss?