-4
float diff = 0;
const char* str[] = {"Err: ZPROBE: ",diff};
LCD_ALERTMESSAGEPGM(str);
随着上面的代码,我得到这个错误。任何人都知道如何从"Err: ZPROBE: "
和(float)diff
创建单个字符串?在初始化时,Arduino无法将'float'转换为'const char *'
exit status 1
cannot convert 'float' to 'const char*' in initializatio
对不起要补充的是,在环境中我使用 - 'string' : is not a member of 'std',
OK现在尝试这种
String str = String("Err: ZPROBE: " , diff);
,但得到这个
call of overloaded 'String(const char [14], float&)' is ambiguous
使用'snprintf'。或者更好的是,使用'std :: string'并将'c_str()'传递给宏。 –
我很遗憾地通知你,不仅仅是Arduino不能这样做,而是每一个C++编译器都存在,因为这不是有效的C++。如果你的意图是真的写C++代码,那么打开你的C++书到说明如何使用'std :: ostringstream'的章节,并阅读它。 –
对于Arduino中的字符串,你应该使用[Arduino标准的'String'类](https://www.arduino.cc/en/Reference/StringObject)(它不是*与标准C++'std相同: :字符串类)。 –