Alimy 发表于 2014-9-20 14:20:58

奇怪的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]
查看完整版本: 奇怪的AVR-g++编译器语法要求