Cha*_*ugh -4 c++ if-statement operator-keyword
显然这个prgoram不起作用.软件告诉我'=='运算符丢失了.有些人可以告诉我该怎么做并解释为什么他/她的解决方案有效吗?
#include <iostream>
using namespace std;
int main() {
int var{ 0 };
cout << "Bitte eine Ganzzahl eingeben: ";
if ((cin >> var) == false) {
cerr << "Falsche Eingabe - Keine Zahl\n";
exit(1);
}
system("pause");
//return 0;
}
Run Code Online (Sandbox Code Playgroud)
而我们正在努力.为什么可以在if statemant中执行'cin'?我会在if statemant之前使用'cin'.
在现代C++中,可以使用a来测试流的状态explicit operator bool.这意味着它可以直接用作if语句中的条件,但不能隐式转换bool为与之进行比较false.所以你需要更多的惯用语
if (cin >> var)
Run Code Online (Sandbox Code Playgroud)
测试状态.
为什么可以在if statemant中执行'cin'?
因为条件可以是任何表达式,只要它具有可以转换为的结果即可bool.的>>操作者返回流,其可以经由I上述操作被转换的参考.
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |