行列演算のためにC ++で小さな行列ライブラリを書いています。しかし、私のコンパイラは文句を言いますが、以前はそうではありませんでした。このコードは6か月間棚に置いたままで、その間にコンピュータをdebian etchからlenny(g ++(Debian 4.3.2-1.1)4.3.2)にアップグレードしましたが、同じg ++のUbuntuシステムでも同じ問題があります。
これが私のマトリックスクラスの関連部分です:
namespace Math
{
class Matrix
{
public:
[...]
friend std::ostream& operator<< (std::ostream& stream, const Matrix& matrix);
}
}
そして「実装」:
using namespace Math;
std::ostream& Matrix::operator <<(std::ostream& stream, const Matrix& matrix) {
[...]
}
これはコンパイラーによって与えられたエラーです:
matrix.cpp:459:エラー: 'std :: ostream&Math :: Matrix :: operator <<(std :: ostream&、const Math :: Matrix&)'は引数を1つだけ取る必要があります
私はこのエラーに少し混乱していますが、この6か月間多くのJavaを実行した後で、私のC ++は少し錆びてきました。:-)