2012-04-25 25 views
7

Qualsiasi idea del motivo per cui questo errore si verifica in fase di compilazione?Errore di argomento predefinito C++

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’ 

Ecco il mio codice a quei alcune aree:

ComplexNumber.cpp

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

ComplexNumber.h

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

solo per curiosità: non sarebbe più semplice usare l'operatore << '? – stefan

+0

il mio operatore << call print() –

risposta

18

È necessario specificare solo il parametro di default nella funzione dichiarazione, cioè nell'intestazione. L'implementazione dovrebbe essere simile a questa:

void ComplexNumber::print(ostream & out) const { ..... } 
Problemi correlati