enum的条件总是评估为true

时间:2013-12-20 03:47:40

标签: c++ enums

好的,我确信这里有一些愚蠢的东西。我还没有真正使用枚举,所以也许我只是做了一些不正确的事情。我正在创建一个红黑树实现,我在类Node中使用枚举,如果它是红色或黑色节点。我已经逐步完成了代码,当我为我想要插入的给定节点达到这个语句时,它不应该执行循环,因为父颜色是黑色而不是红色!由于某种原因,这评估为真,我不知道为什么......任何帮助将不胜感激!谢谢! :)

while(x->m_parent->m_color == (Node::Color::ST_Red)) ;

这是我的Node类的一部分,以防万一。

class Node
{
public:
    Node()
    {
        m_data = 0 ;    
        m_color = Node::Color::ST_Red ; 
    }

    enum Color
    {
        ST_Red,
        ST_Black
    };

private:
    int m_data ;    
    Color m_color ; 
    Node* m_parent; 

};

0 个答案:

没有答案