É bastante essencial usar a -pedanticbandeira.
Gostaria apenas de acrescentar que, com o padrão atual, é aconselhável usar algo semelhante a:
-std=c++17 -Wall -Wextra -Werror -Wpedantic -pedantic-errors
Onde:
-std=c++17diz para aderir à revisão do padrão C ++, publicada em 2017, você pode ler mais sobre isso aqui .
-Wall diz para:
Habilite todos os avisos sobre construções que alguns usuários consideram questionáveis e fáceis de evitar (ou modificar para impedir o aviso), mesmo em conjunto com macros, ou seja, algum conjunto de avisos.
-Wextra diz para habilitar mais alguns avisos, ainda não todos.
-Werror diz para fazer todos os avisos em erros.
-Wpedanticou apenas -pedanticdiz para:
Emita todos os avisos exigidos pelo rigoroso ISO C e ISO C ++; rejeite todos os programas que usam extensões proibidas e alguns outros programas que não seguem o ISO C e ISO C ++.
-pedantic-errors diz para cometer um erro sempre que o padrão básico (consulte -Wpedantic) exigir um diagnóstico.
Esse conjunto geralmente é útil não apenas para iniciantes, pois eles aprendem gradualmente que cada aviso tem potencial para resultar em erro, mas também para uso normal.
Todas as opções de aviso são descritas em detalhes aqui na página GNU / GCC .