2012-04-25 7 views
7

Irgendeine Idee, warum dieser Fehler zur Kompilierzeit kommt?C++ - Standardargument Fehler

ComplexNumber.cpp:21: error: default argument given for parameter 1 of ‘void ComplexNumber::print(std::ostream&) const’ 
ComplexNumber.h:17: error: after previous specification in ‘void ComplexNumber::print(std::ostream&) const’ 

Hier ist mein Code an diesen bestimmten Bereichen:

ComplexNumber.cpp

21 void ComplexNumber::print(ostream & out = cout) const { 

ComplexNumber.h

17 void print(ostream & out = cout) const; 
+1

nur aus Neugier: Wäre es nicht einfacher, 'operator <<' zu verwenden? – stefan

+0

Mein Operator << ruft print() –

Antwort

18

Sie nur den Standardparameter in der Funktion angeben sollten Erklärung, dh in der Kopfzeile. Ihre Implementierung sollte ungefähr so ​​aussehen:

void ComplexNumber::print(ostream & out) const { ..... } 
Verwandte Themen