我第一次搞乱了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