Saya menulis perpustakaan matriks kecil di C ++ untuk operasi matriks. Namun kompiler saya mengeluh, di mana sebelumnya tidak. Kode ini dibiarkan di rak selama 6 bulan dan di antaranya saya memutakhirkan komputer saya dari debian etch ke lenny (g ++ (Debian 4.3.2-1.1) 4.3.2) namun saya memiliki masalah yang sama pada sistem Ubuntu dengan g ++ yang sama .
Inilah bagian yang relevan dari kelas matriks saya:
namespace Math
{
class Matrix
{
public:
[...]
friend std::ostream& operator<< (std::ostream& stream, const Matrix& matrix);
}
}
Dan "implementasi":
using namespace Math;
std::ostream& Matrix::operator <<(std::ostream& stream, const Matrix& matrix) {
[...]
}
Ini adalah kesalahan yang diberikan oleh kompiler:
matrix.cpp: 459: error: 'std :: ostream & Math :: Matrix :: operator << (std :: ostream &, const Math :: Matrix &)' harus mengambil tepat satu argumen
Saya agak bingung dengan kesalahan ini, tapi sekali lagi C + + saya sudah agak berkarat setelah melakukan banyak Jawa 6 bulan itu. :-)