奇怪的AVR-g++编译器语法要求
本帖最后由 Alimy 于 2014-9-20 14:44 编辑背景
在Aruduino中写mega328p的程序。准备将unsignedchar[] 和String 连接起来。
unsignedchar array_year;
void setup(){
array_year = ' ';
array_year = '2';
array_year = '0';
array_year = '1';
array_year = '4';
array_year = 0;
Serial.begin();
}
void loop(){
delay(100);
String test_Str = "Monday";
test_Str += String(array_year);
//出现报错信息
Serail.print(test_Str);
}
报错信息如下:
而把 unsigned char array_year;改成 char array_year; 就编译正确而且实现起来也是对的。
char array_year;
void setup(){
array_year = ' ';
array_year = '2';
array_year = '0';
array_year = '1';
array_year = '4';
array_year = 0;
Serial.begin();
}
void loop(){
delay(100);
String test_Str = "Monday";
test_Str += String(array_year); //编译通过,正确实现
Serail.print(test_Str);
}
不清楚是不是因为String的重载函数出问题了,还在翻String类的源代码,稍后回来。
类型要求好严格的说。
页:
[1]