我认为这个错误告诉我我的插入函数没有声明但是据我所知我已经正确声明它并且它在我的类的公共(public)部分所以我认为我应该能够在我的主要功能。我试图将其称为 insert(12);
但它给了我错误:在此范围内未声明“插入”。
class BST
{
public:
BST();
BST(int* arr, int size);
void insert(int val);
void inOrderTraversal();
void inOrderTraversal(node * Root);
private:
node * Root;
};
void BST::insert(int val)
{
node* temp = new node();
temp->value = val;
if(Root == NULL) {
Root = temp;
return;
}
node* current;
current = Root;
node* parent;
parent = Root;
current = (temp->value < current->value) ? (current->Left) : (current->Right);
while(current != NULL)
{
parent = current;
current = (temp->value < current->value) ? (current->Left) : (current->Right);
}
if(temp->value < parent->value) {
parent->Left = temp;
}
if(temp->value > parent->value) {
parent->Right = temp;
}
}
最佳答案
如果您只是简单地编写 insert(12);
,那么您可能需要创建 BST 类的实例并将其作为成员函数访问:
BST tree;
tree.insert(12);
关于c++ - 错误 : "Function" not declared in this scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43552959/