Variablendeklaration in Header-file-Methodenparameter
-
Oh,
der Kompilierfehler verblüfft mich. Das Header-File habe ich eingebunden, aber ich dachte im Header-File deklariere ich keine Objekte, die als Parameter gebraucht werden. Im a.cpp-File schreibe ich dann die Implementierung und in der main-Methode wird die Instanz doch erst tatsächlich erzeugt. Was habe ich vergessen?
// a.h #include "mysuperduperclass.h" class A{ ... void myMethod( MySuperDuperClass msdc ); // MySuperDuperClass not declared! ...
-
Die Definition kannste verschieben, aber die Deklaration muß schon da sein.
Inkludiert (evtl über Umwege) die mysuperduperclass.h die a.h?
-
Das heißt alle meine Funktionsparameter müssen als Attribut in der Klasse vorhanden sein?
Ja und ich denke schon, dass mysuperduperclass die a.h inkludiert. Die beiden rufen sich nämlich gegenseitig auf - meinst du damit, dass das 'meinsuperduper.h'-File etwa gar nicht inkludiert wird?
-
Jay1980 schrieb:
Das heißt alle meine Funktionsparameter müssen als Attribut in der Klasse vorhanden sein?
Nein. An Deiner Datei war alles richtig.
Außer vielleicht dem fehlenden Include-Guard bzw. #pragma once.