Da ich einen ganzen Stapel Klassen habe, die austauschbar sein müssen und sich ähnlich verhalten sollen, dabei aber gleichzeitig nicht Namensräume vollmüllen sollen, möchte ich Unterklassen im Namensraum der Oberklasse haben.
Code: Alles auswählen
class StandardData
{
int a;
};
template< typename DataType >
class Interface
{
virtual bool func( DataType & bla ) = 0;
bool func( DataInterface & bla ) { ... } // ruft func( DataType ), falls richtiger Typ
};
class Element;
class Element::Data; // Fehler C2027: "Verwendung des undefinierten Typs "Element"
class Element : public Interface< class Element::Data >
{
class Data : public StandardData
{
int b;
}
bool func( Data & myData );
};
Hat jemand eine Idee, wie ich das formulieren kann, so dass Visual C mich versteht?
Wie kann ich eine Klasse innerhalb des Namensraum der Klasse deklarieren, bevor diese Klasse definiert wurde?