Number Text组键报错-Arduino中文社区 - Powered by Discuz! Archiver

XlinliY.Zhang 发表于 2021-4-11 15:30

Number Text组键报错

问题描述使用Number组建的text时报错error: no matching function for call to 'isnan(const char*&)'
代码Number1.text("雨量");编译信息C:\Users\XLL\Documents\Arduino\libraries\blinker-library-dev_3.0\src/Functions/BlinkerNumber.h:49:28: error: no matching function for call to 'isnan(const char*&)'             if (isnan(_text)) return;



XlinliY.Zhang 发表于 2021-4-11 15:31

本帖最后由 XlinliY.Zhang 于 2021-4-11 15:34 编辑

Number的Text函数对传入的值使用了isnan进行了判断,但是isnan只接受一个值( float , double或long double )
传入的却是字符串,所以此处报错
template <typename T>
      void text(T _text)
      {
            if (isnan(_text)) return;

            if (_fresh >> 3 & 0x01) free(ntext);

            String _ntext = STRING_format(_text);
            ntext = (char*)malloc((_ntext.length()+1)*sizeof(char));
            strcpy(ntext, _ntext.c_str());

            _fresh |= 0x01 << 3;
      }

XlinliY.Zhang 发表于 2021-4-11 15:36


Button组建的text和Number的text做个对比,button的并没有进行isnan判断

三水 发表于 2021-4-14 12:26

已修复
页: [1]
查看完整版本: Number Text组键报错