Frage

Bin ich sicher, einen C ++ Bool zu einem Windows-API BOOL über dieses Konstrukt in Gießen

bool mybool = true;
BOOL apiboolean = mybool ? TRUE : FALSE;

Ich würde davon ausgehen, das ein Ja ist, weil ich keine offensichtlichen Probleme sehen, aber ich wollte einen Moment nehmen, nur zu fragen, weil dies mehr sein kann subtiler, als es scheint.

Dank Dima für (sanft) meine Unachtsamkeit in der Art und Weise des Hinweis auf die ich ursprünglich würde formulierte die Frage.

War es hilfreich?

Lösung

Wollen Sie


bool b;
...
BOOL apiboolean = b ? TRUE : FALSE;

Wenn ja, dann ja, das wird funktionieren.

Andere Tipps

Ja, das wird funktionieren, aber

bool b;
...
BOOL apiboolean = (BOOL) b;

sollte genauso gut funktionieren, wie auch umgekehrt:

bool bb = (bool) apiboolean;

Visual Studio 2005 wird einfach akzeptieren:

bool b = true;
BOOL apiboolean = b;

kein Casting erforderlich .

Beachten Sie, dass andersherum Bool> bool einfach nicht, wie das funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top