problem z operator XOR

0

Mam problem z alternatywą wyklaczającą. Otóż mam następujący kawałek kodu:

    // tym->lewy i tym->prawy to wskaźniki na potomków w drzewie BST 
     if ((!tym->lewy) && (!tym->prawy)) //Spełnione jeśli obydwa nie istnieją
    {
        z=1;
    }
    if ((tym->lewy) ^ (tym->prawy))  //Spełnione jeśli istnieje dokładnie jeden
    {
        z=2;
    }
    if ((tym->lewy) && (tym->prawy)) // Spełnione jeśli obydwa istnieją
    {
        z=3;
    }

Mam problem z tym 2 ifem gdyż wywala mi błąd przy tym operatorze ^^. W sumie nie jestem pewny czy jest to dobry operator. Wie ktoś może jak to powinno wyglądać?

0

Nie ma w c++ logicznego xora, jest tylko bitowy.

0

użyj operatora: !=

1 użytkowników online, w tym zalogowanych: 0, gości: 1