2017-06-10 3 views
1

Ich habe Probleme, die Methode "add()" zu definieren. Was ich gelernt habe, bis jetzt, eine Funktion auf einem anderen Blatt zu definieren, ist im Grunde:Vector - Aufruf über Referenz C++

type NameOfClass::function() 
{ 
    // ... 
} 

Also jetzt, dass ich versuche, die Funktion mit einem Referenzparameter zu definieren (wie es ein Vektor ist), habe ich die folgende declaraation haben in der Klasse:

class Vector 
{ 
    Vector add(const Vector& input) const; 
    // ... 
}; 

und ich versuche, diese Funktion zu definieren, mit:

Vector* Vector::add(const Vector* input) const 
{ 
    // ... 
} 

ich bin nicht sicher, ob mein Problem mit dem „Eingang“ ist oder weil ich nicht die Definition die Funktion in der richtige Weg.

+0

um Codeblöcke zu formatieren, wählen Sie den Block und drücken Sie Strg + K (oder klicken Sie auf den '{}' Schaltfläche in der Symbolleiste). Ich habe es für dich hier gemacht, aber auf diese Weise wirst du das nächste Mal wissen. –

+2

Sie meinen, Sie definieren die Funktion. Nirgends nennen Sie es wirklich, Sie definieren es nur, nachdem Sie es in der Klassendefinition deklariert haben. – Rakete1111

+0

https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –

Antwort

4

Ihre Funktionssignaturen in Deklaration und Definition müssen genau übereinstimmen.

Erklärung:

Vector add(const Vector& input) const; 

Definition:

Vector Vector::add(const Vector& input) const 
{ 
    // ... 
}