强类型C ++ 0x枚举比较

时间:2010-06-13 00:49:09

标签: c++ enums c++11 enum-class

为什么强类型C ++ 0x枚举的实例不能相互比较?


更新:它们在gcc 4.6中具有可比性;我不确定它是否适用于gcc 4.4。

1 个答案:

答案 0 :(得分:8)

如果你使用强类型的枚举,就像把你的枚举变成一个真正的类,一个类。然后它遵循与类相同的规则。

默认情况下,不能将不同类的实例相互比较。您必须定义比较函数(或成员函数)以使它们具有可比性。

因此,强列入枚举使得它遵循这个相同的规则。