我是新手,并试图了解我做错了什么。我的构建消息吐出错误:'0'不能用作函数并突出显示函数中的行return ((5 / 9)(fahrenheit - 32));
。提前感谢任何建议。
#include <iostream>
using namespace std;
double celsiusFunction(double fahrenheit);
int main()
{
double fahrenheitTemp;
fahrenheitTemp = celsiusFunction(99);
cout << fahrenheitTemp;
return 0;
}
double celsiusFunction(double fahrenheit)
{
return ((5 / 9)(fahrenheit - 32));
}
答案 0 :(得分:8)
5 / 9
是0
,因为它们都是整数,因此它以整数运算来计算。请改为:5.0 / 9.0
以获得浮动结果。
您没有在return
语句中相乘,因此编译器会将第二个括号解释为函数调用(即,使用参数5 / 9
调用fahrenheit - 32
)。这当然是胡说八道。这样做:
return (5.0 / 9.0) * (fahrenheit - 32.0);
答案 1 :(得分:4)
((5 / 9)(fahrenheit - 32))
\_____/\_______________/
1 2
2被解释为1上的函数调用。您忘记了乘法:
((5 / 9) * (fahrenheit - 32))
答案 2 :(得分:3)
您忘记了*
运营商
答案 3 :(得分:1)
您应该将return ((5 / 9)(fahrenheit - 32));
更改为
return ((5 / 9)*(fahrenheit - 32));
在*
之后添加(5/9)
。
由于缺少*
,您收到错误。