[英]no suitable conversion function from (C++) std::istream &std::getline<char, std::char_traits<char>, std::allocator<char>> to bool
[英]I'm getting the error: no suitable conversion function from std::basic_istream<char, std::char_traits<char>> to char exists
我試圖使運算符>>重載,但我想從輸入中讀取每個字符,但出現錯誤。 這是代碼:
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
值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.