Pergunta

por que as instâncias de enumerações C++ 0x fortemente tipadas não são comparáveis ​​entre si?


Atualizar:Eles são comparáveis ​​no gcc 4.6;Não tenho certeza se funcionou no gcc 4.4.

Foi útil?

Solução

Se você usar enumerações fortemente tipadas, é como tornar seu enum um tipo real, uma classe.Depois segue as mesmas regras das aulas.

Instâncias de classes diferentes não podem ser comparadas entre si por padrão.Você deve definir uma função de comparação (ou função de membro) para torná-los comparáveis.

Portanto, fazer uma enumeração fortemente tipada faz com que ela siga essa mesma regra.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top