Over loading * operator - muss entweder 0 oder 1 Argumente annehmen

8

Ich bin neu, um Betreiber zu überlasten, ich habe ein wenig gesucht und das hilfreich gefunden Artikel , ich habe meinen eigenen Code geschrieben wie der Autor, aber ich bekomme vector vector::operator*(float, vector) must take either zero or one argument error.

Hier ist mein Code:

%Vor%

Mein Betriebssystem ist kubuntu 12.04 und meine IDE ist dev-C++ läuft unter Linux mit dem Wine Windows Programmlader.

    
MJafar Mash 24.11.2012, 18:44
quelle

2 Antworten

15

Da Sie operator*() als Memberfunktion definieren, gibt es bereits einen impliziten Parameter: das Objekt, für das die Methode aufgerufen wird! Daher nehmen Elementfunktionen einen expliziten Parameter, nicht zwei.

    
chrisaycock 24.11.2012, 18:47
quelle
7

Deklarieren Sie einfach Ihre Operator-Überlastfunktion außerhalb der Klasse. Sie geben auch eine Konstante zurück, die möglicherweise nicht das ist, was Sie wollen.

%Vor%     
ajp013 23.03.2013 18:11
quelle

Tags und Links