Если условие цикла связано с указателями - PullRequest
0 голосов
/ 26 августа 2018
bool BST :: randomFunction(BTNode *cur)
{
if (cur != root) 
{
    //random code
}
}

В настоящее время я изучаю деревья бинарного поиска.При тестировании с кодами я столкнулся с такими проблемами, как приведенный выше код будет иметь ошибку, которая утверждает, что cur не определен.Можно ли создать подобный цикл без объявления cur и root в функции?

Если требуется более четкое пояснение, я постараюсь добавить более подробную информацию.(Я самоучка, поэтому, пожалуйста, не обращайте на меня слишком много внимания)


БОЛЬШЕ ДЕТАЛЕЙ: Я заметил много примеров использования (cur! = NULL) или (root = NULL),так далее.Но я не думаю, что это то, что я намеревался добавить в качестве условия.

Я на самом деле создавал рекурсивную функцию с условием, что, если указатель не указывает на root, он будет что-то делать.

И это пример кода:

bool BST :: checknode()
{
if(root=NULL)return false;
checknode2()
}

bool BST :: checknode2()
{
if(//was trying to create a function that works if pointer is not at root//)
//enter code here
}

и после некоторых поисков и чтения я все еще не понимаю, почему он показывает ошибки, такие как «операторы не совпадают с этими операндами /« что-то »не определено ".Вот почему я здесь, в поисках просветления.

PS: Да, я думал, что это ошибка преобразования, но я проверил структуру, и она все использовала bool, поэтому в этом случае это не должно быть проблемой.

1 Ответ

0 голосов
/ 26 августа 2018

Я добавил BTNode *root; в функцию и, по-видимому, это решило проблему.

PS: я знаю, что просил решение без объявления каких-либо указателей, но я думаю, что я должен сделать больше исследований, прежде чемпробовать вслепую.Спасибо за помощь.

...