首页 > 解决方案 > 没有运算符“>>”匹配这些操作数?

问题描述

由于这个错误,我的程序没有编译,我无法解决它。我需要一些帮助。

istream& operator>>(istream& input, const Complex& c)
{
    cout << "\nEnter real part ";
    input >> c.real;
    cout << "\nEnter img part";
    input >> c.img;
    return input;
}

标签: c++

解决方案


没有匹配的运算符,因为您无法写入 const 对象。参数c是 type const Complex&,意思是c.real并且c.img是只读的。但是,operator>>必须修改它们。

const从你的函数签名中删除:

istream& operator>>(istream& input, Complex& c)

推荐阅读