comparação de enumeração C++ 0x fortemente tipada
-
26-09-2019 - |
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.
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