我已经阅读过这样的其他问题,但似乎都没有... 我的代码是:
int flowRateFormula(int pipeDiameter,double velocity)
{
int integer3;
integer3=PI*(1/4)*(pow(pipeDiameter,2))*velocity;
return integer3;
}
错误是:
flowRate.c: In function ‘flowRateFormula’:
flowRate.c:38:13: error: invalid type argument of unary ‘*’ (have ‘int’)
怎么办? BTW PI已定义
答案 0 :(得分:6)
很可能你有这条线
#define PI
某处,导致您的代码等同于:
integer3=*(1/4)*....
这无法编译。将其替换为例如
#define PI 3.1416
另请注意,(1/4)
将被计算为0,因为整数除法返回一个整数。你可能想用1.0/4.0
。
答案 1 :(得分:0)
您需要先为PI声明一个值。
答案 2 :(得分:0)
是否定义了PI?我打赌它是空的。 BTW,(1/4)会给你零,使你的整个表达式为零。