Yeah, -wall -werror fixes many problems.
https://git.vaughnnugent.com/cgit/vnuge/noscrypt/.git/tree/CMakeLists.txt#n299
Actually when using Visual Studio the intellisense even freaks out with accessing structure members after declaration (before assignment) which is proper behavior in C but I guess frowned upon in C++