Ich habe zwei Klassen, die voneinander abhängen:
%Vor%Wenn ich es in g ++ kompiliere, gab es einen Fehler von "Ungültige Verwendung von unvollständigem Typ", aber es wurde schön in MSVC 10 kompiliert. Ist es möglich, dieses Problem zu lösen, während die Deklaration und Definition in einer Header-Datei bleiben? (keine CPP-Dateien) Wenn dies im Standard nicht erlaubt ist, gilt dies auch für den "Bug" oder "Feature" von MSVC?
Ja, verschiebe einfach die Methodendefinitionen aus der Klassendefinition heraus:
%Vor%Siehe diese Seite: Was ist der beste Weg zu beschäftigen Sie sich mit co-abhängigen Klassen in C ++?
Es sollte das Problem klären und bietet ein paar nette Lösungen.