浩dang 2017-03-16 09:00 采纳率: 0%
浏览 1378

g++编译 友元函数参数的const问题

friend ostream & operator <<(ostream &output, const Vector &);
如果去掉 const 会编译错误 为什么?
下面贴代码
class Vector
{
public:
Vector(int size);
Vector(double *, int);
~Vector();
double &operator;
Vector & operator =(Vector &);
friend Vector operator +(Vector &, Vector &);
friend Vector operator - (Vector &, Vector &);
friend double operator *(Vector &, Vector &);
friend ostream & operator <<(ostream &output, const Vector &);
friend istream & operator >> (istream &input, Vector &);
private:
double *v;
int len;
};

ostream & operator<<(ostream &output, const Vector & a)
{
output << "(";
for (int i = 0; i < a.len - 1; i++) output << a.v[i] << ",";
output << a.v[a.len - 1] << ")";
return output;
}
年轻的程序猿求大神赐教

  • 写回答

2条回答 默认 最新

  • 小邓在路上 2017-03-16 09:06
    关注

    在C++ 中const这种硬性标识一般都要求函数的声明使用都必须严格按照函数的原型才行,估计你报的错误是函数不匹配吧

    评论

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥50 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗