如果循环条件与指针有关

时间:2018-08-26 16:29:47

标签: c++ binary-search-tree

bool BST :: randomFunction(BTNode *cur)
{
if (cur != root) 
{
    //random code
}
}

我目前正在对二进制搜索树进行自己的研究。 在使用代码进行测试时,我遇到了诸如上述代码之类的问题,将出现错误,指出未定义cur。 是否可以创建这样的循环而无需在函数中声明cur和root?

如果需要更清晰的说明,我将尝试添加更多详细信息。 (我是一个自学成才的人,所以请不要对我太刻薄)


更多详细信息: 我确实注意到了很多使用(cur!= NULL)或(root = NULL)等的示例。 但是我不认为这是我要添加的条件。

我实际上在构造一个递归函数,其条件是,如果指针不指向根,它将执行某些操作。

这是示例代码:

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 :(得分:0)

我在函数中添加了BTNode *root;,显然它解决了问题。

PS:我知道我在寻求解决方案而没有声明任何指针,但是我认为在盲目尝试之前,我应该做更多的研究。感谢您的帮助。