E2354 Deux opérandes doivent être évalués de même type (C++)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Erreurs et avertissements du compilateur (C++) - Index

Les types d'expressions des deux côtés du signe deux-points dans l'opérateur d'expression conditionnelle (?:) doivent être identiques, à l'exception des conversions habituelles.

Voici quelques exemples de conversions habituelles :

  • char en int
  • float en double
  • de void* en un pointeur précis

Dans cette expression, les deux côtés s'évaluent en des types différents qui ne sont pas automatiquement convertis.

Ceci peut être une erreur, ou vous devez simplement transtyper un type en un autre.

Lorsque vous compilez des programmes C++, ce message est toujours précédé d'un autre expliquant la raison exacte de cette non concordance de types.

Cet autre message est généralement "Impossible de convertir 'type1' en 'type2'", mais la non concordance peut avoir de nombreuses autres causes.