请教下子函数应该怎么写啊,传递变量有什么要求
下面的程序有什么问题呢,为什么编译不通过?int i = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
catch();
Serial.println(i);
delay(1000);
}
int catch(int i)
{
i++;
} 错误信息:
sketch_jan09a:4: error: expected unqualified-id before 'catch'
sketch_jan09a.ino: In function 'void loop()':
sketch_jan09a:10: error: expected primary-expression before 'catch'
sketch_jan09a:10: error: expected `;' before 'catch'
sketch_jan09a.ino: At global scope:
sketch_jan09a:15: error: expected unqualified-id before 'catch' int i = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
test();
Serial.println(i);
delay(1000);
}
void test()
{
i++;
}
编译通过,catch似乎不能作为函数名 本帖最后由 laofuz1024 于 2014-1-9 20:47 编辑
catch 函数的定义
是有一个参数,是int 类型的变量
还有一个返回值,是返回 int 类型的变量,但是catch函数定义有返回值,内部就没返回语句是不对
而你在loop调用catch函数时,没有传参数。
根据你的函数来看,你想实现的功能,没必要这个函数
而我对C语言的了解,函数中 形参是基本类型的,那是值传递,不是地址传递
在函数内部对i值的改变,不影响函数外部的值 ,也就是说,catch函数外,i值都是0 laofuz1024 发表于 2014-1-9 20:34 static/image/common/back.gif
catch 函数的定义
是有一个参数,是int 类型的变量
本身就是不明白怎么写子函数所以做的试验程序,功能当然比较简单。
呵呵 SaorUicnext 发表于 2014-1-9 20:29 static/image/common/back.gif
int i = 0;
void setup()
太谢谢了。
能再解释下参数传递吗 已经解决了,多谢。:D
页:
[1]