我新的C++和一些错误发生的事情,为什么INT返回0 - C++
基本上,我已经宣布了一个名为number
变量,它是int
类型。
如果我输入一个字符串,如a
或x...
然后数目变得0
。我不希望号码变成0
,而是希望它被错误处理。
如何防止这是C++? ,这是我的源代码...
#include <iostream>
using namespace std;
int number;
int main() {
cout << "Please input a number: ";
cin >> number;
cout << number << endl;
return 0;
}
'if(!cin >> number)' – Borgleader 2014-11-20 20:48:46
@CaptainObvlious不,它是C++ 11的行为,[请参阅我的问题](http://stackoverflow.com/questions/19522504/istream-行为改变失败) – Borgleader 2014-11-20 20:49:23
你可以使用['cin.exceptions'](http://en.cppreference.com/w/cpp/io/basic_ios/exceptions)使其发生错误。仍然将它归零... – Deduplicator 2014-11-20 20:51:09