Avertissement du compilateur (niveau 1) C4928
initialisation de copie non conforme ; plusieurs conversions définies par l'utilisateur ont été appliquées implicitement
Plusieurs routines de conversion définies par l’utilisateur ont été trouvées. Le compilateur a exécuté le code dans toutes ces routines.
Cet avertissement est désactivé par défaut. Consultez Avertissements du compilateur désactivés par défaut pour plus d'informations.
L’exemple suivant génère l’erreur C4928 :
// C4928.cpp
// compile with: /W1
#pragma warning(default: 4928)
struct I
{
};
struct I1 : I
{
};
struct I2 : I
{
};
template <class T>
struct Ptr
{
operator T*()
{
return 0;
}
Ptr()
{
}
Ptr(I*)
{
}
};
int main()
{
Ptr<I1> p1;
Ptr<I2> p2 = p1; // C4928
// try one of the following two lines to resolve this error
// Ptr<I2> p2(p1);
// Ptr<I2> p2 = (I1*) p1;
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour