一元“*”的类型参数无效(有整数?

发布于 2024-12-20 05:15:02 字数 390 浏览 2 评论 0原文

我读过其他类似的问题,但似乎没有一个有效...... 我的代码是:

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’)

怎么办? 顺便说一句 PI 已定义

I have read other questions like this but none seemed to work...
My code is:

int flowRateFormula(int pipeDiameter,double velocity)
{
int integer3;

integer3=PI*(1/4)*(pow(pipeDiameter,2))*velocity;

return integer3;

 }

And the error is:

flowRate.c: In function ‘flowRateFormula’:
flowRate.c:38:13: error: invalid type argument of unary ‘*’ (have ‘int’)

What to do?
BTW PI IS DEFINED

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

筑梦 2024-12-27 05:15:02

很可能您在某处有该行

#define PI

,这会导致您的代码相当于:

integer3=*(1/4)*....

并且无法编译。将其替换为 例如

#define PI 3.1416

请注意,(1/4) 将被计算为 0,因为整数除法返回一个整数。您可能想使用 1.0/4.0

Most likely you have the line

#define PI

somewhere, which causes your code to be equivalent to:

integer3=*(1/4)*....

and this fails to compile. Replace it with e.g.

#define PI 3.1416

Note also that (1/4) will be evaluated to 0, because integer division returns an integer. you probably want to use 1.0/4.0.

山人契 2024-12-27 05:15:02

您需要首先声明 PI 的值。

You need to declare a value for PI first.

云淡月浅 2024-12-27 05:15:02

PI有定义吗?我敢打赌它是空的。顺便说一句,(1/4) 会给你零,使你的整个表达式为零。

Is PI defined? I'm betting it's empty. BTW, (1/4) will give you zero, making your whole expression zero.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文