Probabile BUG del compilatore ...

Vedo il mal di testa non ti spaventa a me si invece.
La trama si infittisce, entrambe i compilatori incarnano di default le specifiche C++98 e questo è già
sufficiente a creare il mal di testa, se poi ci aggiungi quello evidenziato è un comportamento documentato nei libri C++ ed è tipico di C++98.... a quali conclusioni si arriva; gcc-4.8.1 non si comporta come C++98 o forse si, perché ci sono delle ammended del 2003 che dovrebbero essere...uff uff, leggi qua:

The original ISO C++ standard was published as the ISO standard (ISO/IEC 14882:1998) and amended by a Technical Corrigenda published in 2003 (ISO/IEC 14882:2003). These standards are referred to as C++98 and C++03, respectively. GCC implements the majority of C++98 (export is a notable exception) and most of the changes in C++03. To select this standard in GCC, use one of the options -ansi, -std=c++98, or -std=c++03; to obtain all the diagnostics required by the standard, you should also specify -pedantic (or -pedantic-errors if you want them to be errors rather than warnings).

()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()

Ciao.