Thanks to g++, it found some errors that MSVC accepted