【发布时间】:2015-07-15 10:03:59
【问题描述】:
所以显然这个程序不起作用。软件告诉我缺少“==”运算符。有人能告诉我该怎么做,并解释为什么他/她的解决方案有效吗?
#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;
}
当我们在做的时候。为什么可以在 if 语句中执行“cin”?我会在 if 语句之前使用 'cin'。
【问题讨论】:
-
这个compiles and runs 对我来说很好。
-
@MooseBoys 它仅在 C++11 之前编译,因为它将使用
void*到bool隐式转换。 -
@MooseBoys:它将适用于过时的标准库(其中流转换为指针类型而不是
bool),但不是现代标准库(显式转换为bool) . -
显然 IDEOne 不兼容 - 它设置为 C++14 模式并且仍然有效。果然 cl.exe 抱怨了。
-
第一句意思是:输入一个整数。第二个意思是:输入错误。我不认为这应该是相关的,
标签: c++ if-statement operator-keyword