我在我的arduino代码中收到错误无效的“一元'*'(有'int')的类型参数”。这是什么意思?

时间:2016-01-25 17:09:45

标签: arduino

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
}

当我尝试验证代码并且不知道它意味着什么时,我得到错误“unary'的类型参数'*'('int')”。这是我第一次使用python以外的任何编程进行编程,所以关于我做错了什么的信息越多越好。

2 个答案:

答案 0 :(得分:0)

您正在重新声明已在vss循环之前声明的变量while。 删除int并应该有效。

答案 1 :(得分:0)

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

也许你想要pow function,但要小心这个因为它可以给wrong results

如果您只是尝试启动-1,那么您可以将其分开

int vss = 1/(pulseIn(vssp, HIGH)*(1/90));

但这没有意义,因为int只能保存整数值

正如他们告诉你的那样,你正在重新宣布vss