Hi everyone,
since C++11 you are allowed to declare your enum with a specified underlying type.
Now I have a 433MHz remote that sends codes that the RCSwitch library decodes as unsigned long integers. For the rest of the programm I wanted to do a switch-case over these values and have them in a humanly readable form. So I decided to create an enum like this:
enum class Remote433Codes : unsinged long {
Up = 1913064181,
Down = 1913062651,
Left = 1913063671,
Right = 1913063161,
Center = 1913063416,
Button1 = 1913062396,
Button2 = 1913066986,
Button3 = 1913063926,
Power = 1913066731,
};
which yields the following three error messages:
warning: elaborated-type-specifier for a scoped enum must not use the 'class' keyword
error: use of enum 'Remote433Codes' without previous declaration
error: expected unqualified-id before ':' token
To me the warning indicates that the avr-g++ toolchain I am using (my PIO uses 7.3.0, I think) does not fully support enum classes and specified types?
The errors led me to various posts where the function prototype generation of the arduino IDE caused this issue. The enum is currently not used anywhere but just included in my main.
Is there some unknown function generation happening that causes this issue? Or does the compiler not support that feature?
Anyway, thanks to anyone taking the time to help me with this.