Comment puis-je lancer un bool à un BOOL?
Question
Suis-je apte à transtyper un booléen C ++ vers un booléen API Windows via cette construction
bool mybool = true;
BOOL apiboolean = mybool ? TRUE : FALSE;
Je suppose que c'est un oui parce que je ne vois pas de problèmes évidents, mais je voulais prendre un moment pour poser des questions uniquement parce que cela peut être plus subtil qu'il n'y paraît.
Merci à Dima pour avoir (doucement) souligné mon négligence dans la manière dont j'avais formulé la question à l'origine.
La solution
Voulez-vous dire
bool b;
...
BOOL apiboolean = b ? TRUE : FALSE;
Si oui, alors oui, cela fonctionnera.
Autres conseils
Oui, cela fonctionnera, mais
bool b;
...
BOOL apiboolean = (BOOL) b;
devrait fonctionner aussi bien que l'inverse:
bool bb = (bool) apiboolean;
Visual Studio 2005 acceptera simplement:
bool b = true;
BOOL apiboolean = b;
aucun casting requis .
Notez que l'inverse de BOOL - > bool ne fonctionne pas simplement comme ceci.