I';m收到错误“无效”;一元'的类型参数*';(have';int';);在我的arduino代码中。这是什么意思? intvss=(脉冲星(vssp,高)*(1/90))**-1//这条线很好用 while(vss

I';m收到错误“无效”;一元'的类型参数*';(have';int';);在我的arduino代码中。这是什么意思? intvss=(脉冲星(vssp,高)*(1/90))**-1//这条线很好用 while(vss,arduino,Arduino,您正在重新声明变量vss,该变量已在while循环之前声明。 删除int,应该可以工作。**在C中与python中的**不同。在C中*可以用于乘法或 也许你想要,但要小心这可能会给你带来的原因 如果你只是想给-1加电,那么你可以把它分开 int vss=(pulseIn(vssp, HIGH)*(1/90))**(-1); //This line works fine while(vss<5){ int vss=(pulseIn(vssp, HIGH)*(1/90))**(-1);

您正在重新声明变量
vss
,该变量已在
while
循环之前声明。
删除
int
,应该可以工作。

**
在C中与python中的
**
不同。在C中
*
可以用于乘法或

也许你想要,但要小心这可能会给你带来的原因

如果你只是想给
-1
加电,那么你可以把它分开

int vss=(pulseIn(vssp, HIGH)*(1/90))**(-1);  //This line works fine
while(vss<5){
  int vss=(pulseIn(vssp, HIGH)*(1/90))**(-1);   //This is where I get the error
}
但这毫无意义,因为
int
只能保存整数值


正如他们告诉您的,您正在重新定义vss

这行代码很好
我不这么认为,
**
是什么?是双重解引用吗?
int vss = 1/(pulseIn(vssp, HIGH)*(1/90));