';closeapp';未在此范围中声明
你好,我更改了usbdriveby项目。 只是为了好玩而玩键盘 错误消息app:“closeapp”未在此作用域中声明。 代码如下:';closeapp';未在此范围中声明,c,arduino,C,Arduino,你好,我更改了usbdriveby项目。 只是为了好玩而玩键盘 错误消息app:“closeapp”未在此作用域中声明。 代码如下: #if defined(CORE_TEENSY) #define LED_PIN 11 #else #define LED_PIN 13 #endif void setup() { delay(800); openapp("Terminal"); typeln("screen -S SYSTEMUpdater"); typeln("say dont
#if defined(CORE_TEENSY)
#define LED_PIN 11
#else
#define LED_PIN 13
#endif
void setup() {
delay(800);
openapp("Terminal");
typeln("screen -S SYSTEMUpdater");
typeln("say dont use unknown usb sticks because its not safe.");
closeapp;
}
void openapp(String app)
{
cmd(KEY_SPACE);
typeln(app);
}
void typeln(String chars)
{
Keyboard.print(chars);
delay(ds);
Keyboard.println("");
delay(ds * 4);
}
void closeapp
{
cmd(KEY_Q);
}
void k(int key)
{
Keyboard.set_key1(key);
Keyboard.send_now();
delay(ds/2);
Keyboard.set_key1(0);
Keyboard.send_now();
delay(ds/2);
}
void mod(int mod, int key)
{
Keyboard.set_modifier(mod);
Keyboard.send_now();
Keyboard.set_key1(key);
Keyboard.send_now();
delay(ds);
Keyboard.set_modifier(0);
Keyboard.set_key1(0);
Keyboard.send_now();
delay(ds);
}
void ctrl(int key)
{
mod(MODIFIERKEY_CTRL, key);
}
void cmd(int key)
{
mod(MODIFIERKEY_GUI, key);
}
void shift(int key)
{
mod(MODIFIERKEY_SHIFT, key);
}
void loop()
{
digitalWrite(LED_PIN, HIGH);
delay(ds/2);
digitalWrite(LED_PIN, LOW);
delay(ds/2);
}
我搜索了相同的错误,但我很确定我在编写时出错。函数
closeapp
在C语言中语法无效。
应该是这样的:
void closeapp()
{
cmd(KEY_Q);
}
closeapp();
此外,函数调用应该类似于:
void closeapp()
{
cmd(KEY_Q);
}
closeapp();
语法上有效
最后一点是,您不应该在函数实现之前调用它。这意味着您要么提供原型,要么在真正调用它之前给出它的定义
编辑FYI:Statement
closeapp
在语法上是有效的,但它是空指令,就像42代码>。从字面上看,它是closeapp
函数的地址,因此基本上只是一个数字。void closeapp{
-->void closeapp(void){
和closeapp;
-->closeapp();
VTC作为次要项。即使如此,编译器也可能会抱怨没有可见的closeapp()声明
从setup()调用时
。您的预编辑版本更好。编写closeapp;
的结果在语法上有效,但在语义上无效,也就是说,它显然不是OP想要的。它映射到函数地址的无OP求值。此外,就我关于可见声明的观点而言,情况更糟:编译器可能出错,或者可能只是警告(如果你有警告,我们都有,对吗?)它将使用一个不同的、假定的签名-如果它不匹配,这将导致未定义的行为…很可能会这样。是的,我当时正在编辑。好吧,我还假设编译器默认删除并优化closeapp;语句,正如您所说,它是noop。确切地说:我的意思是它不是语法有效的函数call、 但它确实是语法上有效的语句。