2010-08-16 1 views

Répondre

11

Je pense que la réponse est dans le documentation:

le résultat de la comparaison de deux valeurs indéterminées est indéterminée (pas vrai) - nous ne savons pas quelles sont les valeurs, donc nous ne pouvons pas dire qu'ils sont égal;

La fonction indeterminate peut être utilisée pour tester si un tribool est dans un état indéterminé.

+0

Et puisque les conversions indéterminées implicitement à bool false, l'assertion échoue. –

+1

"le résultat de la comparaison de deux valeurs indéterminées est indéterminé". Aie. Je suppose que cela a du sens à un niveau, mais ce n'est pas intuitif pour moi. – Roddy

+0

@Roddy, regardez l'implémentation de tribool :: operator ==() êtes-vous prêt? ça rend le tribool! Je déteste le gars qui a soumis ce code pour booster: D +1 pour une bonne question, ce n'est pas un comportement intuitif! –