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以外的任何编程进行编程,所以关于我做错了什么的信息越多越好。
答案 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