我写了以下代码:
void dice (int &x) {
for (int i = 0;i<7;i++){
delay (35);
int kocka;
kocka = random (1,7);
randomSeed (analogRead (A7));
delay(5);
}
}
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(dice(int x));
};
但是,当我尝试编译它时,出现此错误:
“ int”之前的预期主要表达式
答案 0 :(得分:1)
您可以调用void函数,但是对于您传递的参数,请不要放入“ int”。如果您考虑一下,就知道这一点,当您编写digitalWrite时,您会在引脚号前面加上“ int”吗?编写函数原型时只需要int。
您也没有定义任何变量x传递给该函数,因此您的下一个错误是“在此作用域中未声明x”,因为在循环函数中没有x变量。
接下来还有另一个问题。您的函数定义为返回void。这意味着它什么也不返回。确实,没有return语句。因此,当您删除Serial.print行中的“ int”并定义变量x时,将收到“ void value not ignore”错误。您不能从没有返回值的函数中打印返回值。
目前还不清楚您要打印什么。编辑您的问题,说出您想发生的事情,也许有人可以帮助您弄清楚该怎么做。