строго типизированное сравнение C ++ 0x - PullRequest
8 голосов
/ 13 июня 2010

почему экземпляры строго типизированных перечислений C ++ 0x не сопоставимы друг с другом?


Обновление: они сравнимы в gcc 4.6;Я не уверен, что это сработало в gcc 4.4.

1 Ответ

8 голосов
/ 13 июня 2010

Если вы используете строго типизированные перечисления, это все равно что сделать ваше перечисление настоящим типом, классом.Затем он следует тем же правилам, что и для классов.

Экземпляры разных классов не могут сравниваться друг с другом по умолчанию.Вы должны определить функцию сравнения (или функцию-член), чтобы сделать их сопоставимыми.

Следовательно, строгое типизированное перечисление заставляет следовать этому же правилу.

...