错误:请求'* root'中的成员'data',其指针类型为'nodeBST *'

时间:2017-06-07 17:21:34

标签: c++11 pointers binary-search-tree pointer-to-member pointer-to-pointer

错误:请求'* root'中的成员'data',其指针类型为'nodeBST *'

我只是使用指针指向取消引用数据成员。我是否遵循了错误的方法?

#include<iostream>

using namespace std;
class nodeBST
{
    int data;
    nodeBST *leftChild;
    nodeBST *rightChild;
    void insertNode(nodeBST **root , int data);
    nodeBST* getNewnodeBST(int data);
    void searchnodeBST(nodeBST **root , int data);
};
nodeBST* nodeBST::getNewnodeBST(int data)
{
      nodeBST* temp = new nodeBST();
      temp->data = data;
      temp->leftChild = temp->rightChild = NULL;
      return temp;
}
void nodeBST::insertNode(nodeBST **root , int data)
{
  if(*root == NULL)*root = getNewnodeBST(data);
  else if(data <= *root->data)*root->leftChild = insertNode(*root->leftChild , data);//error started from here
  else *root->rightChild = insertNode(*root->rightChild , data);
}
void nodeBST::searchnodeBST(nodeBST **root , int data)
{
    if(*root == NULL)return false;
    else if(*root->data == data)return true;
    else if(data <= *root->data) return searchnodeBST(*root->leftChild,data);
    else return searchnodeBST(*root->rightChild,data);
}
int main()
{
    nodeBST *root = NULL;
    nodeBST::insertNode(&root , 12);
    nodeBST::insertNode(&root , 125);
    nodeBST::insertNode(&root , 13);
    nodeBST::insertNode(&root , 188);
}

0 个答案:

没有答案