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