cin.get(x)
使我的程序无法编译。请帮助我修复我的代码。
如果有任何帮助,这是编译器错误:
solution1.cpp:在函数
‘int main()’
中:
solution1.cpp:19:错误:没有匹配函数来调用‘std::basic_istream<char, std::char_traits<char> >::get(int&)’
的/ usr /包括/ C ++ / 4.4 / istream的:280:
注意:候选人是:typename std::basic_istream<_CharT, _Traits>::int_type std::basic_istream<_CharT, _Traits>::get() [with _CharT = char, _Traits = std::char_traits<char>]
的/ usr /包括/ C ++ / 4.4 / istream的:294:
注意:std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(_CharT&) [with _CharT = char, _Traits = std::char_traits<char>]
的/ usr /包括/ C ++ / 4.4 / istream的:321:
注意:std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(_CharT*, std::streamsize, _CharT) [with _CharT = char, _Traits = std::char_traits<char>]
的/ usr /包括/ C ++ / 4.4 / istream的:332:
注意:std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(_CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits<char>]
的/ usr /包括/ C ++ / 4.4 / istream的:355:
注意:std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(std::basic_streambuf<_CharT, _Traits>&, _CharT) [with _CharT = char, _Traits = std::char_traits<char>]
的/ usr /包括/ C ++ / 4.4 / istream的:365:
注意:std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::get(std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]
#include <iostream>
using namespace std;
int main()
{
char num[100] = {0};
int y = 0;
int x = 0;
int flag = 0;
cout << "Please enter line of numbers: ";
while (flag > 0)
{
cin.get(x);
if (x < 0)
{
flag = -1;
}
else
{
num[y] = x;
y = y + 1;
}
}
cout << " " << num[4] << endl;
return 0;
}
答案 0 :(得分:3)
如果您真的想逐个字符地阅读,请将cin.get(x)
更改为x = cin.get()
,但是从上下文中我猜测您想要阅读整数。为此,请使用cin >> x
。
答案 1 :(得分:1)
如果您尝试从命令行读取整数,则语法为cin >> x;
。 cin.get()
读取单个字符,并按值返回。
答案 2 :(得分:0)
使用“x = cin.get();”而不是“cin.get(x);”
有关详细信息,请参阅下面提到的链接中的cin.get的所有变体,