GyverLibs / GyverDB

Простая база данных для Arduino
MIT License
7 stars 1 forks source link

Можно сравнивать с целочисленными #1

Closed whitevast closed 1 month ago

whitevast commented 1 month ago

В описании есть это: // можно сравнивать с целочисленными int i = 123; db["key1"] == i; db["key1"] >= i;

Но в реале не работает ( Компилятор ругается: Backlight_Control.ino:58:9: error: ambiguous overload for 'operator>' (operand types are 'int' and 'gdb::Access') 58 | if (i > db[kk::stair_sum]) i = (int)db[kk::stair_sum]; Backlight_Control.ino:58:9: note: candidate: 'operator>(int, double)' (built-in) Backlight_Control.ino:58:9: note: candidate: 'operator>(int, float)' (built-in) Backlight_Control.ino:58:9: note: candidate: 'operator>(int, long long unsigned int)' (built-in) Backlight_Control.ino:58:9: note: candidate: 'operator>(int, long long int)' (built-in) Backlight_Control.ino:58:9: note: candidate: 'operator>(int, long unsigned int)' (built-in) Backlight_Control.ino:58:9: note: candidate: 'operator>(int, long int)' (built-in) Backlight_Control.ino:58:9: note: candidate: 'operator>(int, unsigned int)' (built-in) Backlight_Control.ino:58:9: note: candidate: 'operator>(int, int)' (built-in) Backlight_Control.ino: In function 'void shift(boolean, boolean)': Backlight_Control.ino:75:30: error: ambiguous overload for 'operator+' (operand types are 'gdb::Access' and 'int') 75 | if (i == db[kk::stair_sum] + 1) i--;

GyverLibs commented 1 month ago

Потому что нужно сравнивать как в описании, а не как захотелось. Язык очень строгий