Forum: PC-Programmierung QT: Funktion einer cpp-Datei in einer anderen cpp-Datei aufrufen


von David S. (eledave)


Lesenswert?

Guten Abend zusammen!

Ich habe in meinem Projekt in meiner dtcard.cpp Datei eine Funktion, 
welche in in meiner mainwindow.cpp mit einem pushbutton-Befehl aufrufen 
möchte.

Auszüge Quelltext der beiden Dateien:

dtcard.cpp

...
void DTCard::put_DODREI()
{
    if( checkErr(olDaPutSingleValue(hSS_dO,8,0,1)) ) {return -1;}
    Sleep(5000);
    if( checkErr(olDaPutSingleValue(hSS_dO,0,0,1)) ) {return -1;}
}
...

mainwindow.cpp

...
void MainWindow::on_DO_DREI_clicked()
{
    DTCard::put_DODREI();
    return;
}
...

Die Funktion put_DODREI() ist in der dtcard.h als

public:
    void put_DODREI();

deklariert.

Bekomme allerdings folgende Fehlermeldung:
cannot call member function 'void DTCard::put_DODREI()' without object

Kann mir da jemand helfen? Denke mal, dass ich die Funktion "nur" für 
beide Dateien zugänglich machen muss...verstehe nur nicht so ganz wie 
ich das anstellen soll.
Eigentlich sollte sowas doch möglich sein...wenn ja, wie?

Schonmal Danke im Voraus und noch 'nen schönen Abend!

: Verschoben durch User
von René H. (Gast)


Lesenswert?

1.April?

Du musst die Klasse instanzieren.

ZB.



DTCard myInstance;

myInstance.put_DODREI();

Grüsse,
René

von Andreas R. (daybyter)


Lesenswert?

Du hast die Methode eines Objekts. Du brauchst erst ein Objekt, damit Du 
danach eine Methode von ihm aufrufen kannst.

Also erst ein Objekt erzeugen

DTCard card;

und danach seine Methode aufrufen

card.put_DODREI();

von David S. (eledave)


Lesenswert?

Danke! Hat geklappt!
Wünsch euch noch 'nen schönen Abend!

Gruß
Dave

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.