Я изучаю boost :: tribool и был удивлен следующим поведением.
{
using namespace boost;
boost::tribool t(indeterminate);
assert(t==indeterminate); // This assertion fails!
}
Однако, если я это сделаю, утверждение пройдет.
assert(indeterminate(t));
Нет предупреждений компилятора или ошибок в любом случае. У кого-нибудь есть хорошее объяснение, почему это должно быть ??