我有這樣的代碼:負值輸入
double i;
while(cin >> i)
{
if (i < 0.0)
cout << "ENTER A POSITIVE NUMBER: ";
else
break;
}
我想這樣的代碼(我不希望使用破裂時):
while((cin >> i) < 0.0)
{
cout << "ENTER A POSITIVE NUMBER: ";
}
我得到一個錯誤這條線:while((cin >> i) < 0.0)
說invalid operands to binary expression
。
我錯過了什麼?
它不返回布爾值。 http://www.cplusplus.com/reference/iostream/istream/operator%3E%3E/ –
@CodingMash:我的錯,編輯它。謝謝! –
將代碼恢復爲正確的代碼。你可能想重新解釋一下這個解釋,因爲'cin >> i'不會產生一個布爾值,而是一個對流的引用(它可以被轉換爲'bool') –