hat den C ++ 0x Enumerationsvergleich stark typisiert

8

Warum sind Instanzen von stark typisierten C ++ 0x-Enumerationen nicht miteinander vergleichbar?

Update: Sie sind in gcc 4.6 vergleichbar; Ich bin mir nicht sicher, ob es in gcc 4.4 funktioniert hat.

    
Neil G 13.06.2010, 00:49
quelle

1 Antwort

8

Wenn Sie stark typisierte Enumerationen verwenden, ist das so, als würde Ihr enum zu einem echten Typ, einer Klasse, werden. Dann folgt es den gleichen Regeln wie für Klassen.

Instanzen unterschiedlicher Klassen können standardmäßig nicht miteinander verglichen werden. Sie müssen eine Vergleichsfunktion (oder Memberfunktion) definieren, um sie vergleichbar zu machen.

Wenn Sie also eine stark typisierte Aufzählung machen, folgt sie genau dieser Regel.

    
Klaim 13.06.2010, 00:58
quelle

Tags und Links