我第一次搞亂了Arduino板。用Arduino和C++聲明和寫入數組的問題
我必須聲明如下(我知道不審判我)的陣列,它是用於存儲LCD的每個字符作爲一種緩存:
char* lcd_characters[] = {"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""};
然後後來我試着寫入到陣列的特定插槽,這樣,該字母保存到它:
new_char = String(message.charAt(i));
...等等等等等等...
lcd_characters[pos] = new_char; << error here
但是它給我這個錯誤:
error: cannot convert 'String' to 'char*' in assignment
有趣的是,當我這樣做(見下文)它做分配信它,但是我有一個變種是一個字母,但不能分配它。
lcd_characters[pos] = "H";
有人可以幫助我出去請。謝謝。我是C品牌,到目前爲止還行。
基本上我想要一個字符數組,然後我想用一個新值寫入數組的位置。
爲什麼它甚至不管我寫入數組位置的字符串是什麼類型,我應該可以在那裏寫一個數字或布爾值,並在以後調用它。最初聲明數組的方式有什麼問題嗎?
編輯:
我想...
lcd_characters[pos] = new_char.c_str();
但多數民衆贊成給我類似的錯誤:
invalid conversion from 'const char*' to 'char'
跆拳道?我想要做的就是說這個數組的位置等於這個新值。而已。我已經在JavaScript,ruby,python(甚至是php)等中完成了這一百萬次。我只想去,這個數組... x [12]等於我在new_char中的字母!啊。
new_char = String(message.charAt(i)); //你確定這是C嗎? – Sevauk
@Sevauk TBH它可能是C++,這是我的第一天! – Smickie
然後,如果它是C++,則試圖將字符串對象(new_char)分配給char *類型(lcd_character [pos])。你應該學習C++對象。 – Sevauk