Partilhar via


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 };