[gelöst] c++: invalid use of member

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
bastorran
Beiträge: 92
Registriert: 18.06.2007 12:55:24

[gelöst] c++: invalid use of member

Beitrag von bastorran » 04.04.2008 17:17:23

Hallo,

bin gerade an einem kleinen Programm. Unter anderem enthält dieses eine Header-Datei mit einer Klasse tBruch. Mit dieser soll man einfach Brüche darstellen können.

Nun wollte ich Operatoren überladen, sieht wie folgt aus:

Code: Alles auswählen

tBruch operator+(tBruch summand)
    {
        zaehler = zaehler*summand.getNenner()+summand.getZaehler*nenner;
        nenner = nenner*summand.getNenner();
        kuerzen();
        return *this;
    }
Nun erhalte ich aber immer folgende Fehlermeldung:

Code: Alles auswählen

error: invalid use of a member (did you forget the '&' ?)
->Hier in Zeile 3 (taucht aber erst auf, wenn ich '+summand.getZaehler*nenner' hinzufüge).

Die Funktionen werden in der Klasse definiert. Im Quellcode wird erstmal nur die Header-Datei eingebunden, kein Objekt angelegt. Verwendete IDE ist Code::Blocks.

Falls Ihr den Rest der Klasse braucht kann ich ihn Euch auch noch posten.

Vielen Dank für Eure Hilfe.

Gruß
bastorran
Zuletzt geändert von bastorran am 04.04.2008 19:11:36, insgesamt 1-mal geändert.
"Ähhh, die Tastatur hat gesponnen ... "

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: c++: invalid use of member

Beitrag von gms » 04.04.2008 17:34:03

bastorran hat geschrieben:

Code: Alles auswählen

tBruch operator+(tBruch summand)
    {
        zaehler = zaehler*summand.getNenner()+summand.getZaehler*nenner;
...
Nun erhalte ich aber immer folgende Fehlermeldung:

Code: Alles auswählen

error: invalid use of a member (did you forget the '&' ?)
->Hier in Zeile 3 (taucht aber erst auf, wenn ich '+summand.getZaehler*nenner' hinzufüge).
der Fehler wird wahrscheinlich nach dieser Änderung nicht mehr auftreten:

Code: Alles auswählen

        zaehler = zaehler*summand.getNenner()+summand.getZaehler()*nenner;
bastorran hat geschrieben: Falls Ihr den Rest der Klasse braucht kann ich ihn Euch auch noch posten.
wenn es das nicht war, dann wäre das gut

edit: eins noch "tBruch tBruch::operator+(const tBruch& summand)" wäre schöner :wink:

Gruß
gms

bastorran
Beiträge: 92
Registriert: 18.06.2007 12:55:24

Re: c++: invalid use of member

Beitrag von bastorran » 04.04.2008 19:11:00

Hallo,

so ein dummer Fehler! Und da saß ich zwei Tage lang dran und hab einfach nix gefunden.
Naja was solls. Vielen Dank für Deine Hilfe!!!

Gruß
bastorran

P.S. Danke für den Tipp.
"Ähhh, die Tastatur hat gesponnen ... "

Antworten