Partager via


Avertissement du compilateur (niveau 4) C4239

extension non standard utilisée : 'token' : conversion de 'type' en 'type'

Cette conversion de type n’est pas autorisée par la norme C++, mais elle est autorisée ici en tant qu’extension. Cet avertissement est toujours suivi d’au moins une ligne d’explication décrivant la règle de langue violée.

Exemples

L’exemple suivant génère l’erreur C4239.

// C4239.cpp
// compile with: /W4 /c
struct C {
   C() {}
};

void func(void) {
   C & rC = C();   // C4239
   const C & rC2 = C();   // OK
   rC2;
}

La conversion du type intégral en type enum n’est pas strictement autorisée.

L’exemple suivant génère l’erreur 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 };