C++ 左移运算符代码出错求解

img


重载左移运算符,不知道为什么提示已删除!不知道在哪里出了问题,希望有人能指正!

  • myint 是你自定义的 类, cout 直接输出它是不行的
  • 需要重载 cout 的 << 运算符,以实现输出你自定义的myint
  • 参考如下:
//重载左移运算符
ostream& operator<<(ostream& cout, MyInteger p) {
    cout << p.mNumber;
    return cout;
}

ostream是不能拷贝的,你的osteam参数声明成传值,会调用拷贝,所以报错删除。将osteam参数改为引用