visual studio 2017 c++ if문과 else문 둘다 실행이 안됩니다.
조회수 843회
레드블랙 트리를 코딩중인데 granpa != nullptr 가 true인데도 불구하고 디버깅 할 때 이 구문 전체가 스킵이 됩니다. 디버깅모드로 정지시켜서 f11 눌러가며 확인해 봤는데 if랑 else가 있는 줄만 실행하고 안의 코드는 다 무시하고 넘어가네요. 이것 때문에 계속 이상한 결과가 나오는데 대체 뭐가 잘못된 걸까요
if (granpa != nullptr) {
if (granpa->left == parent) {
granpa->left == n;
}
else if (granpa->right == parent) {
granpa->right == n;
}
}
else {
root = n;
}
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
주어진 코드만 놓고 보자면.. “
granpa != nullptr
는 맞는데granpa->left
도granpa->right
도parent
가 아닌 경우”가 있을 수 있겠네요. (그게 뭔지는 모르겠지만요.) 이때 아무 동작도 안 하는 건 매우 정상입니다.else if
밑에else
블럭 만들어서 뭔가 해보세요.
댓글 입력