我正试图使运算符>>重载,并且我想从输入中读取每个字符,但出现该错误。 这是代码:
istream& operator>>(istream& input, Natural_Big_Number number)
{
int x;
input >> x;
number.set_nr_digits(x);
char c;
while ((c = input.get(c)))
{
}
}
答案 0 :(得分:1)
如果您希望它返回字符,则无需为.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
值。