Ich verwendete Forward-Deklaration und enthält in einem kleinen Projekt.Forward-Deklaration und enthalten
Aber manchmal, wenn ich eine Datei erstellt habe.
A, die C und D.
Und dann sind in B die A, C, D umfasst ich einige Probleme hatte, fügte ich die Vorwärts-Erklärung zu.
Ich bemerkte, dass ich manchmal nur die Vorwärts-Deklaration brauche, passiert es, weil, wenn ich es zuvor zu einer Datei hinzugefügt habe, die ich in der Datei enthält, wo die Forward-Deklaration ist? Wie wenn ich nur das A in B einschließe, also auch C und D? Ich habe eine Klasse, wo ich nur die Forward-Deklaration hinzufügen musste. Like:
Class a;
Class b;
Class R{
}
dann die Datei eine umfasste die R, so dass ich nicht das ein in R enthalten müssen, wenn ich es täte, dass der Code nicht kompilieren. Es sagt etwas wie eine Klasse vor der {zu deklarieren.
Andere Fall ist:
A vorwärts declare B, aber derzeit sind B und B A enthalten .. es funktioniert, ich kann mir vorstellen, dass sein, weil die Zeit der Compiler "Paste" der A-Code in B, der nach vorn Die Deklaration teilt dem Compiler mit, dass die Klasse im Code enthalten ist. Wenn ich ifdef/ifndef benutze und Code b in einen einbeziehe, stürzt es ab, wenn ich das Include entferne, funktioniert es als Charm ^^
Danke.
Was ist Ihre Frage? In der Regel gibt es Situationen, in denen eine Voranmeldung ausreichend ist. Aber ich kann nicht sehen, was deine Frage ist. –
Nein, es ist nur ein Beispiel – Lefsler
stackoverflow ist eine Q & A-Site. Werfen Sie einen Blick auf eine FAQ, die eine gute Frage ist und wie man sie stellt. Die Probleme, die Sie sehen (ohne Header-Wächter, Hinzufügen von ihnen führt zu Abstürzen) würde auf ein größeres Problem mit Ihrem Code hinweisen. – pmr