J'écris une petite bibliothèque matricielle en C ++ pour les opérations matricielles. Cependant, mon compilateur se plaint, alors que ce n'était pas le cas auparavant. Ce code a été laissé sur une étagère pendant 6 mois et entre les deux, j'ai mis à niveau mon ordinateur de debian etch à lenny (g ++ (Debian 4.3.2-1.1) 4.3.2) mais j'ai le même problème sur un système Ubuntu avec le même g ++ .
Voici la partie pertinente de ma classe de matrice:
namespace Math
{
class Matrix
{
public:
[...]
friend std::ostream& operator<< (std::ostream& stream, const Matrix& matrix);
}
}
Et la "mise en œuvre":
using namespace Math;
std::ostream& Matrix::operator <<(std::ostream& stream, const Matrix& matrix) {
[...]
}
C'est l'erreur donnée par le compilateur:
matrix.cpp: 459: erreur: 'std :: ostream & Math :: Matrix :: operator << (std :: ostream &, const Math :: Matrix &)' doit prendre exactement un argument
Je suis un peu confus par cette erreur, mais là encore, mon C ++ est devenu un peu rouillé après avoir fait beaucoup de Java ces 6 mois. :-)