나는 다음과 같은 코드가 있습니다이진 트리 방법
#include <iostream>
using namespace std;
class BST{
public:
int n,*v,vn;
struct node {
int val;
node *left,*right;
node (int v){ val=v; left=right=0;}
void Print(node *p){
cout<<p->val;
if (p->left){
Print(p->left);
}
else if(p->right){
Print(p->right);
}
}
}; node *root;
node *rinsert(node *p,int t){
if (p==0){
p=new node(t);
n++;
}
else if (t<p->val){
p->left=rinsert(p->left,t);
}
else if (t>p->val){
p->right=rinsert(p->right,t);
}
return p;
}
void traverse(node *p){
if (p==0) return;
traverse(p->left);
v[vn++]=p->val;
traverse(p->right);
}
void print(){
Print(root);
}
public:
BST(int maxelms,int maxval){
root=0;
n=0;
}
int size(){
return n;
}
void insert(int v){
root=rinsert(root,v);
}
void report(int *x){
v=x;
vn=0;
traverse(root);
}
};
int main(){
BST bt(12,25);
bt.insert(12);
bt.insert(10);
bt.insert(25);
bt.insert(7);
bt.insert(11);
bt.insert(8);
bt.insert(4);
bt.insert(3);
bt.insert(20);
bt.insert(23);
bt.insert(24);
bt.insert(1);
return 0;
}
컴파일러는 Print()
이 정의되지 있다고합니다. 왜? 나는 그것을 수업 시간에 선언했다.
"print"함수는 구조체 이름을 지정하지 않고 "Print"함수에 액세스 할 수 없다고 생각합니다. –
컴파일러 오류 메시지가 있으면 이해할 수 없습니다. ** 전체 오류 메시지를 질문에 넣으십시오. (그리고 소스 코드에 불만을 표시하십시오). –