Wie kann ich einen Bool auf eine BOOL werfen?
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.
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.