제가 하려는게 2진 트리 구현한 뒤 데이터 출력하는 건데요,
메인 함수에서는
char** word = new char* [63]; // 63개 각각에 3글자짜리 단어를 넣어줬어요.
BinTree* bin[63]
for(int i=31; i<63; i++){
bin[i] = new BinTree(word[i]);
}
for(int i=30; i>=0; i--){
bin[i] = new BinTree(word[i], bin[2*i+1], bin[2*i+2]);
}
위 알고리즘으로
b[0]
b[1] b[2]
b[3] b[4] b[5] b[6]
이런식의 2중 트리를 구현하는건데 컴파일 할 때 해더파일에 문제가 있는걸로 뜹니다.
//header file//
using namespace std;
class BinTree{
char m_word[4];
BinTree *m_lchild
BinTree *m_rchild;
public:
BinTree(char *word, BinTree *left_child = NULL, BinTree *right_child = NULL);
void pretty_print(BinTree* bin);
};
BinTree::BinTree(char *word, BinTree *left_child, BinTree *right_child){
memcpy(m_word, word, 4);
m_lchild = left_child;
m_rchild = right_child;
}
void BinTree::pretty_print(BinTree *bin){
cout << bin->m_word << endl;
BinTree::pretty_print(bin->m_lchild);
BinTree::pretty_print(bin->m_rchild);
}
여기서 아래와 같은 오류가 떠버립니다.
error C2572 : 'BinTree::pretty_print' : 기본 매개 변수 재정의. 매개 변수 2
왜 안되는걸까요ㅠㅠ