当我尝试运行以下代码时,它会给出一个错误,即“无法将类型'float'隐式转换为'int'”。
我做了很多搜索,遗憾的是我无法找到任何有关此类错误的帮助。
int sum1, cols, rows;
float h, twoEnds, x;
sum1 = (h - ((cols) * x) + twoEnds)) / (cols + 1);
答案 0 :(得分:2)
由于h
,twoEnds
和x
都是浮点数,因此以下等式将返回浮点数:
sum1 = (h - ((cols) * x) + twoEnds)) / (cols + 1)
您可以将sum1更改为浮点数,或者将等式转换为类似的int:
sum1 = (int)((h - ((cols) * x) + twoEnds)) / (cols + 1));
答案 1 :(得分:1)
错误清楚
无法将类型'float'隐式转换为'int'
因此,您有一个float
结果无法明确地转换到sum1
类型int
。尝试明确转换/转换 :
sum1 = (int) ((h - ((cols) * x) + twoEnds)) / (cols + 1));