【发布时间】:2016-07-29 12:38:56
【问题描述】:
我有一个函数,我想读取整数,直到我输入一个非整数。我想重复这个功能,直到我按下回车键。但是字符被传递到第二个 cin 并且它变成了一个无限循环。
void read () {
int x;
while ( cin >> x );
}
int main () {
char a;
do {
read ();
cin.ignore (256, '\n')
cin >> a;
} while ( a != '\n' )
}
【问题讨论】:
-
这里的问题是即使变量在不同的函数中,cins 似乎以某种方式连接。
-
这里是一个全局变量
cin。 -
好的,但我必须在第一个
cin的末尾去掉'\n',这样我才能用第二个阅读任何内容。而cin.ignore()什么也没做。