Aviso do Compilador (nível 4) C4239
extensão não padrão usada: 'token' : conversão de 'type' para 'type'
Essa conversão de tipo não é permitida pelo padrão C++, mas é permitida aqui como uma extensão. Esse aviso é sempre seguido por pelo menos uma linha de explicação que descreve a regra de idioma que está sendo violada.
Exemplos
A seguinte amostra gera C4239.
// C4239.cpp
// compile with: /W4 /c
struct C {
C() {}
};
void func(void) {
C & rC = C(); // C4239
const C & rC2 = C(); // OK
rC2;
}
Conversão de tipo integral para tipo de enumeração não é estritamente permitida.
A seguinte amostra gera C4239.
// C4239b.cpp
// compile with: /W4 /c
enum E { value };
struct S {
E e : 2;
} s = { 5 }; // C4239
// try the following line instead
// } s = { (E)5 };