編譯我收到以下錯誤類型的無效操作數int和double二進制「操作符%」
invalid operands of types int and double to binary 'operator%' at line
"newnum1 = two % (double)10.0;"
程序後,爲什麼會這樣呢?
#include<iostream>
#include<math>
using namespace std;
int main()
{
int num;
double two = 1;
double newnum, newnum1;
newnum = newnum1 = 0;
for(num = 1; num <= 50; num++)
{
two = two * 2;
}
newnum1 = two % (double)10.0;
newnum = newnum + newnum1;
cout << two << "\n";
return 0;
}
'(double)10.0'這個類型轉換不做任何事情。 10.0已經是雙重類型。 10.0f是浮點類型,10是(帶符號)整數類型。 – Lundin 2012-02-14 14:33:40
@Lundin:'10'具體是'int'類型,而不是任何任意有符號整數類型。 – 2016-01-07 19:32:41