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,因此在这种情况下应该不是问题。
答案 0 :(得分:0)
我在函数中添加了BTNode *root;
,显然它解决了问题。
PS:我知道我在寻求解决方案而没有声明任何指针,但是我认为在盲目尝试之前,我应该做更多的研究。感谢您的帮助。