c++ - 没有运算符“>>”匹配这些操作数?
问题描述
由于这个错误,我的程序没有编译,我无法解决它。我需要一些帮助。
istream& operator>>(istream& input, const Complex& c)
{
cout << "\nEnter real part ";
input >> c.real;
cout << "\nEnter img part";
input >> c.img;
return input;
}
解决方案
没有匹配的运算符,因为您无法写入 const 对象。参数c
是 type const Complex&
,意思是c.real
并且c.img
是只读的。但是,operator>>
必须修改它们。
const
从你的函数签名中删除:
istream& operator>>(istream& input, Complex& c)
推荐阅读
- android - Android Studio 无法构建带有 DexIndexOverflowException 的 APK
- wordpress - 显示文本取决于单击的菜单
- apache - Apache:NE 标志(无转义)在 mod_rewrite 的 RewriteRule 中不起作用
- java - 检测到 JPos 扫描仪但未从中接收数据
- reactjs - 在 React js 中点击 fetch api 时,Get 方法被转换为 OPTIONS
- spring - 使用 Java9 的 Swagger UI (spring boot 2.0)
- java-8 - 如何在 RxJava 中缓存项目并避免缓存踩踏?
- apache-spark - 了解如何在 Spark 中执行 Hive SQL
- android - 启用添加窗口 android.view.ViewRootImpl$W@990cb01 -- 窗口类型 2038 的权限被拒绝
- php - 解析错误:语法错误,文件意外结束,期待 elseif (T_ELSEIF) 或 else (T_ELSE) 或 endif (T_ENDIF)