E2354 Die Auswertung zweier Operanden muss denselben Typ ergeben (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index

Im Bedingungsoperator (?:) müssen die Typen der Ausdrücke auf beiden Seiten des Doppelpunkts dieselben sein, außer bei den gängigen Umwandlungen.

Einige Beispiele für gängige Umwandlungen:

  • char nach int
  • float nach double
  • void* in einen besonderen Zeiger.

Hier ergeben die beiden Seiten verschiedene Datentypen, die nicht automatisch umgewandelt werden.

Unter Umständen brauchen Sie bloß eine Seite in den Datentyp der anderen umzuwandeln.

In C++ erhalten Sie zu dieser Meldung eine weitere Meldung, die Ihnen das Problem genauer erklärt.

Sie lautet gewöhnlich "Typ1 kann nicht in Typ2 umgewandelt werden". Die Gründe für die Typunverträglichkeit können jedoch vielfältiger Natur sein.