invalid conversion from 'char*' to 'char' [-fpermissive]|錯誤的意思是給的字符串太長,字符數組存不下。
這裏報錯
char orange[5]={orange}; <--錯誤在這裏報出
char ORANGEH[5]={ORANGE}; <--錯誤在這裏報出
應改成:
char?orange[]="orange";
char?ORANGE[]="ORANGE";
擴展資料:
const char*向char*的轉換是不允許的。
使用Qt來舉個例子:
QString qstr("This is a test!");
char* str = qstr.toStdString.data();
這樣就會報上面的錯了,如果換成:
QString qstr("This is a test!");
const char * str? = qstr.toStdString.data();
這就沒有錯了。很顯然,qstr.toStdString.data的返回值是const char*型。
這樣就帶來壹個麻煩,就是如果我們要對str進行修改什麽操作的話就不可行了,只能另外再建立壹個字符數組來復制str所指向的字符串了。