Arduino void函数声明

时间:2016-12-23 11:03:37

标签: c++ arduino

我有错误:

deska0_1:263: error: no match for call to '(String) (bool)'

   koloron ( 1 );

deska0_1:265: error: no match for call to '(String) (bool)'

   koloroff ( 1 );

exit status 1
no match for call to '(String) (bool)'

in void function:

    void blinkall (String kolor, int pauza)
{
  String koloron;// declaring new string
  String koloroff;

  koloron = String ( kolor + "n" ); 
  koloroff = String ( kolor + "f" );

  koloron ( 1 );
  delay (pauza);
  koloroff ( 1 );
  delay (pauza);
}

问题是我没有将koloron或koloroff称为blinkall的参数 我想要的是: 函数blinkall取2个参数: kolor是颜色 pauza是眨眼延迟

早些时候在代码中有另一个空格,例如redn(打开红色led)和另一个redf(关闭它)

所以现在作为函数的参数blinkall我想要的是:

闪烁所有颜色和延迟的2个参数 示例

blinkall(红色,100) 我希望它能够运行 red + n == redn //这是另一个导致开启的空函数 然后延迟 然后red + f == redf //也是另一个关闭的空白

我希望我已经说清楚了:))

1 个答案:

答案 0 :(得分:1)

你在错误的地方寻找错误。不在函数参数中的问题。编译错误明确说明了问题所在 koloron ( 1 )koloroff ( 1 )koloronkoloroff是字符串,您尝试将整数分配给它们(在这种情况下,编译器将1解释为true,因此bool因此错误信息)。尝试

koloron = "1";
koloroff = "1";