GyverLibs/GyverPortal

error : call of overloaded 'answer(unsigned char&, int&)' is ambiguous portal.h

Depech101 opened this issue · 6 comments

error : call of overloaded 'answer(unsigned char&, int&)' is ambiguous template
:829 bool updateFloat(const String &n, T f, int dec = 2) {
return update(n) ? (answer(f, dec), 1) : 0;
}
:788 bool answer(float v, uint8_t dec) { return answer(String(v, (uint16_t)dec)); }
Заменил на:
:829 bool updateFloat(const String &n, T f, int dec = 2) {
return update(n) ? (answerF(f, dec), 1) : 0;
}
:788 bool answerF(float v, uint8_t dec) { return answer(String(v, (uint16_t)dec)); }
Видимо конфликтовало с конструктором для double.

При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:

  • Версия библиотеки
  • Какой используется МК
  • Версия SDK (для ESP)
  • Версия Arduino IDE
  • В идеале приложить минимальный код, в котором наблюдается баг

Прощу прощения. Только начал жаловаться)).

Версия библиотеки - 3.5
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/lolin_s2_mini.html
PLATFORM: Espressif 32 (6.0.0) > WEMOS LOLIN S2 Mini 
HARDWARE: ESP32S2 240MHz, 320KB RAM, 4MB Flash - 
IDE Platformio 
PACKAGES:
- framework-arduinoespressif32 @ 3.20006.221224 (2.0.6)
- tool-esptoolpy @ 1.40400.0 (4.4.0)
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
- toolchain-xtensa-esp32s2 @ 8.4.0+2021r2-patch5

Ругается прямо просто при компиляции, возможно когда вызывается метод portal.updateFloat

В актуальной версии вижу да, float и double, у есп компилятора с ними постоянно проблемы. Заменю на шаблон пожалуй

Значит это не я сошёл с ума))

я закинул в репозиторий фикс, попробуй на своём коде

Да все шикарно компилится, спасибо.