gegeben folgende Situation:
Code: Alles auswählen
class A {
void func(B::EnumType x);
};
class B {
enum EnumType {etOne, etTwo};
A aInstance;
};
Forward-Deklaration von A und Umwandlung von aInstance in einen Zeiger auf A ist mir bekannt. Möchte ich aber tunlichst vermeiden, da es sich für aInstance "unnatürlich anfühlen würde", sie in B als Zeiger zu führen. st eine immanente aber komplexe Eigenschaft von B, die zur Übersichtlichkeit in eine eigene Klasse A ausgelagert wurde.) Abgesehen von der entstehenden Inkonsistenz im Projekt - dann müsste ich ja alles bis auf primitive Datentypen als Zeiger führen.
Mir fiele noch ein, sämtliche Enums in dem Projekt in einen großen Namespace ganz am Anfang zu packen, ist aber eher schlechter Stil, würde ich sagen.
Über Vorschläge würde ich mich sehr freuen.
Gruß,
Spinoza