c++ - 没有运算符 ">>" 匹配这些操作数 -- 操作数类型是:std::istream >> const double
问题描述
#include <iostream>
#include <stdlib.h>
#define Pi 3.14159
using namespace std;
class Rectangle
{
public:
friend ostream &operator<<(ostream &output,const Rectangle &D)
{
output<<"length:"<<D.length<<endl<<"height:"<<D.height<<endl;
return output;
}
friend istream &operator>>(istream &input,const Rectangle &D)
{
input >> D.length >> D.height;
return input;
}
private:
double length;
double height;
};
错误在 [17,19]:no operator ">>" 匹配这些操作数——操作数类型是:std::istream >> const double
我在网上找了很久。但是没有用。请帮助或尝试提供一些想法如何实现这一目标。非常感谢您的回答。
解决方案
问问自己,你能读入一个 const 变量吗?读取变量会改变变量,所以答案显然是否定的。
尝试这个
friend istream &operator>>(istream &input,Rectangle &D)
推荐阅读
- python - 单击命令不再是功能
- javascript - 最佳实践:具有数组数据类型的 JavaScript 中的条件语句
- python - 如何从 Pandas 平行坐标中删除图例并调整画布/图像的大小?
- django - 无法在本地网络中托管 django 项目
- webpack - 我可以使用 Webpack v3 减少我的包大小吗?
- json - 通过 Cloudfront 在 cloudformation 中使用 Route53 模板
- javascript - 条件 html 元素仅临时显示
- laravel - 如何使用 vscode 查看 $request 及其子方法中的所有可用方法?
- javascript - Discord.js V12 如何从 args 中删除提到的用户?
- javascript - 如何在博客上按月调用 javascript 函数