Not declared in scope und solche Dinge [geloest]

Alles rund um die Programmierung mit Qt
joebar
Beiträge: 177
Registriert: 3. Oktober 2006 02:04

Beitrag von joebar »

okay dann will ich meine Gedanken dazu mal ausfuehrlicher nieder schreiben (in der Hoffnung dass ich nicht noch mehr Luecken zu erkennen gebe ;-)):

Code: Alles auswählen

Add.cpp:5: error: prototype for ‘Add::Add(testapp*)’ does not match any in class ‘Add’
Er sucht nach einem Prototype, Prototypen sind fuer mich die Deklarationen im .h File. Also diese hier

Code: Alles auswählen

class Add : public mywidget{
public:
	Add();
	~Add();
Im orginal File fehlt hier m.E. nach dann ein Prototyp der was mit dem Parameter testapp* anfangen kann, ich habe obiges also abgeaendert auf

Code: Alles auswählen

class Add : public mywidget{
public:
	Add();
        Add(testapp*);
	~Add();
Jetzt sollte der Compiler m.E. nach wissen dass er die Funktion Add auch mit einem Parameter testapp* zu erwarten hat. Lange Rede kurzer Sinn die gleiche Fehlermeldung. Ah stop jetzt hab ich es gesehen, das bloede include "testapp.h" hat in add.h gefehlt.

Jetzt kann ich es kompelieren. Jetzt muss ich mal schauen ob ich es schaffe, dass die Funktion auch mal gerufen wird....

Danke,
J.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich würde ausserdem noch Add(); entfernen nicht dass diese ctor aus Versehen aufgerufen wird und dein Testapp-Pointer uninitailisert bleibt.
Und testapp reicht auch als Vorwärtsdeklaration (class testapp) um den include des Headers zu vermeiden.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
joebar
Beiträge: 177
Registriert: 3. Oktober 2006 02:04

Beitrag von joebar »

danke, ist gemacht.
Antworten