错误:从'const char *'到'int'的无效转换[-fpermissive]

时间:2014-07-03 08:29:58

标签: c++ compiler-errors arduino lcd

我一直在研究一个带有我的arduino的项目,它在液晶显示器上显示敲敲笑话,但我在编码时遇到了问题。

这是我到目前为止所拥有的

#include<LiquidCrystal.h>

LiquidCrystal lcd(12,11,5,4,3,2);
int buttonPin = 13;
int menu = 0;
int joke(int line1, int line2){
  lcd.setCursor(0, 0); 
  lcd.print(line1);
  lcd.setCursor(0, 1);
  lcd.print(line2);
  lcd.setCursor(0, 0);
}

void setup(){
  pinMode(buttonPin, INPUT);
  lcd.begin(16,2);
}

void loop() {
  lcd.setCursor(15, 0);
  lcd.print(menu);
  int buttonValue = digitalRead(buttonPin);
  if(buttonValue = HIGH){
    menu = menu + 1;
  }
  if(menu == 0){
    joke("Knock!", "Knock!");
  } 

但是当我运行它时,我得到了错误

LCD_HelloWorld.ino: In function ‘void loop()’:
LCD_HelloWorld.ino:28:28: error: invalid conversion from ‘const char*’ to 'int’          [-fpermissive]
LCD_HelloWorld.ino:7:5: error:   initializing argument 1 of ‘int joke(int, int)’ [-fpermissive]
LCD_HelloWorld.ino:28:28: error: invalid conversion from ‘const char*’ to ‘int’ [-fpermissive]
LCD_HelloWorld.ino:7:5: error:   initializing argument 2 of ‘int joke(int, int)’    [-fpermissive]

在网上搜索后我什么都没找到,所以身体都有解决方案吗? 顺便说一句:我是arduino和C / C ++的新手

1 个答案:

答案 0 :(得分:2)

变化

int joke(int line1, int line2)

int joke(const char * line1, const char * line2)