最佳答案
我正在用c++写一个用于矩阵操作的小矩阵库。然而,我的编译器抱怨,以前它没有。这段代码被搁置了6个月,在此期间,我把我的电脑从debian etch升级到lenny (g++ (debian 4.3.2-1.1) 4.3.2 ),但是我在Ubuntu系统上遇到了同样的问题,使用相同的g++.
这是我的矩阵类的相关部分:
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: error: 'std::ostream& 数学::矩阵::operator< & lt; (std:: ostream& const Math::Matrix&)'必须取 正好一个参数
我对这个错误有点困惑,但在这6个月做了很多Java之后,我的c++已经有点生疏了。: -)