' closeapp'在这方面没有申明

时间:2016-08-17 13:43:09

标签: c arduino

您好我改变了usbdriveby项目。 这只是键盘的乐趣 错误消息应用:' 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 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);
}

我搜索了同样的错误,但我很确定我在写作时犯了错​​误。

1 个答案:

答案 0 :(得分:1)

在C语言中,函数closeapp在语法上不是有效的。 它应该是这样的:

void closeapp()
{
  cmd(KEY_Q);
}

此外,函数调用应该是这样的:

closeapp();

在语法上有效。

最后一点是,你不应该在实现之前调用函数。这意味着您要么提供原型,要么在真正调用之前将其定义。

EDIT FYI:语句closeapp;在语法上是有效的,但它是空的指令,就像42;一样。从字面上看,它是closeapp函数的地址,所以基本上只是一个数字。