This is a bug in the Wiring preprocessor. It’s what allows Arudino shortcuts like not including forward declaration of functions. This code disables the preprocessor and compiles without error with your clickBtn unchanged:
Cool! Thanks! So I forward declared every single one of the functions and then it worked! Seems like a bit of a hassle though, any idea whether or not that bug is going to be fixed? And what ‘activated’ the bug exactly?
The bug in the preprocessor is usually triggered by if statements that do not have curly braces {} around the actions. In your case you have if (safe) System.enterSafeMode();.
If you just get in the habit of always using curly braces, I think you will find that the problem goes away without turning the preprocessor off.
Wow, totally forgot to answer you, but I tried that other way you posted, and both ways worked just fine. Bit of a workaround, though, seems unnecessary! Anyways, thank you so much!
Also, that first solution you offered only worked if I forward declared every single function before setup.