Sto scrivendo una piccola libreria di matrici in C ++ per operazioni con matrici. Tuttavia il mio compilatore si lamenta, mentre prima non lo faceva. Questo codice è stato lasciato su uno scaffale per 6 mesi e nel frattempo ho aggiornato il mio computer da debian etch a lenny (g ++ (Debian 4.3.2-1.1) 4.3.2) ma ho lo stesso problema su un sistema Ubuntu con lo stesso g ++ .
Ecco la parte rilevante della mia classe di matrice:
namespace Math
{
class Matrix
{
public:
[...]
friend std::ostream& operator<< (std::ostream& stream, const Matrix& matrix);
}
}
E la "realizzazione":
using namespace Math;
std::ostream& Matrix::operator <<(std::ostream& stream, const Matrix& matrix) {
[...]
}
Questo è l'errore dato dal compilatore:
matrix.cpp: 459: errore: 'std :: ostream & Math :: Matrix :: operator << (std :: ostream &, const Math :: Matrix &)' deve prendere esattamente un argomento
Sono un po 'confuso da questo errore, ma poi il mio C ++ è diventato un po' arrugginito dopo aver fatto molta Java in quei 6 mesi. :-)