Expected primary-expression before ‘*’ token
我编写了一个代码来在二进制搜索树中查找max元素,在insert函数中得到以下错误:
main.cpp: In function ‘bstNode* Insert(bstNode*, int)’:
main.cpp:23:31: error: expected primary-expression before ‘*’ token
root->left= Insert(bstNode* left,data);
^
main.cpp:25:32: error: expected primary-expression before ‘*’ token
root->right= Insert(bstNode* right,data);
^
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <iostream> using namespace std; struct bstNode{ int data; bstNode* left; bstNode* right; }; bstNode* GetNewNode(int data){ bstNode* newNode=new bstNode(); newNode->data=data; newNode->right=newNode->left=NULL; return newNode; } bstNode* Insert(bstNode* root,int data){ if(root==NULL) root=GetNewNode(data); else if(data <= root->data) root->left= Insert(bstNode* left,data); else root->right= Insert(bstNode* right,data); return root; } void FindMax(bstNode* root){ if(root->right==NULL) cout<<root->data; else FindMax(root->right); } int main() { bstNode* root=NULL; int T; cin>>T; int i,data; for(i=0;i<T;i++){ cin>>data; root=Insert(root,data); } FindMax(root); return 0; } |
请告诉我什么是错误,我如何纠正它。
不能通过
你是不是想写点像