Это не так.Это должно быть:
Node* FindNode(Node *rootNode, int data) {
if (!rootNode) {
return NULL;
}else if (rootNode->data == data) {
return rootNode;
}else if (data < rootNode->data) {
return FindNode(rootNode->left, data);
}else{
return FindNode(rootNode->right, data);
}
}
Обратите внимание на дополнительные операторы возврата и дополнительное предложение else if
.
РЕДАКТИРОВАТЬ - Суммировать комментарии ниже: ЕдинственноеПричина того, что код, который вы опубликовали, может работать, заключается в том, что странная комбинация деталей реализации компилятора и тестовых данных сошлась в вашу пользу.Вы должны определенно решить проблему, а не сохранять код таким, каким он был.