gpt4 book ai didi

c++ - 在 C++ 中检查是否存在时出错

转载 作者:太空宇宙 更新时间:2023-11-04 15:51:05 26 4
gpt4 key购买 nike

<分区>

问题:“bool (BST::Node::)(int)”类型的参数与“bool”不匹配是什么意思"什么意思?


信息:

我正在做一个制作二叉搜索树的作业。虽然我的“包含”函数没有编译:

    bool contains(Item val)
{
if(val == myItem) return true;
if(val < myItem)
if (myLeft) return myLeft->contains;
else return false;
if(myRight) return myRight->contains;
return false;

}

我正在使用 if(myLeft)if(myRight) 在我跟随节点之前检查是否存在。但是我收到以下错误消息:

BST.h:100:38: error: argument of type ‘bool (BST<int>::Node::)(int)’ does not match ‘bool’
BST.h:102:32: error: argument of type ‘bool (BST<int>::Node::)(int)’ does not match ‘bool’

第 100 和 102 行包含 if(myLeft) 和 if(myRight)。令人讨厌的是,我的插入函数工作正常:

    void insert(Item val)

{
if(val < myItem)

if (myLeft)

myLeft->insert(val);

else

myLeft = new Node(val);

else if(val > myItem)

if (myRight)

myRight->insert(val);

else

myRight = new Node(val);
else throw Exception("Insert()","Can't add duplicate values");

}

但我还是做了同样的事情。我试图更改它以检查 NULL,所以它变成了 if(myLeft!=NULL) 并且它给出了相同的错误。关于我在这里遗漏了什么的任何线索?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com