c++ - 我收到错误消息:std::basic_istream 没有合适的转换函数> 到 char 存在
问题描述
我正在尝试重载运算符 >> 并且我想从输入中读取每个字符,但我得到了那个错误。这是代码:
istream& operator>>(istream& input, Natural_Big_Number number)
{
int x;
input >> x;
number.set_nr_digits(x);
char c;
while ((c = input.get(c)))
{
}
}
解决方案
.get()
如果您希望它返回字符 ,则无需指定参数。https://en.cppreference.com/w/cpp/io/basic_istream/get
#include <iostream>
using namespace std;
istream& operator>>(istream& input, int number)
{
char c;
while ((c = input.get()))
{
}
}
如果您想要检查流的布尔值是否正确false
,那么您将执行评论中提到的操作,而不是:
while (input.get(c))
它将字符存储在c
然后检查bool
返回的输入流的值。
推荐阅读
- javascript - 使用 javascript 从 KML/KMZ 文件导入数据
- git - 从 CodeBuild 提交和推送到 GitHub 需要哪些步骤?
- flutter - 'value >= min && value <= max': is not true - flutter
- css - 如何在 chrome 开发者工具中启用轴?
- angularjs - 如何从 AngularJS CacheFactory 检索数据到控制器?
- c# - 从后台任务创建集合
- jupyter-notebook - 为什么我在项目 Watson Studio 中看不到笔记本?
- smalltalk - 在 Seaside 中获取父组件
- c# - 尝试使用 ajax 下载 Zip 文件,但无法在 asp.net mvc 中下载
- python - Python DataFrame 相关性超过 1.0?