La opción g ++ -Wall incluye -Wreorder. Lo que hace esta opción se describe a continuación. No es obvio para mí por qué a alguien le importaría (especialmente lo suficiente como para activar esto por defecto en -Wall).
-Wreorder (solo C ++)
Avisar cuando el orden de los inicializadores de miembros dados en el código no
coincidir con el orden en que deben ejecutarse. Por ejemplo:
struct A {
int i;
int j;
A (): j (0), i (1) {}
};
El compilador reorganizará los inicializadores de miembros para i y j para
hacer coincidir el orden de declaración de los miembros, emitiendo una advertencia a ese
efecto. Esta advertencia está habilitada por -Wall.
-Werror=reorder