2017-04-19 5 views
0

나는이 코드를 작성했지만 코드가 실행되는 방식대로 작동하지 않을 때 BST T(arr, 10) 으로 교수님이 원하는 방식으로 오류가 발생합니다. T 이전에는 코드를 변경하는 방법을 모르겠다. 특히, 교수는이 프로젝트 개요에서 다음과 같이 주장했다 : 는 "BST() 기본 생성자는 빈 트리를 생성이진 검색 트리 구축시 문제

BST(int[], int) 

생성자는 첫 번째 매개 변수 요소의 정렬 된 배열이고 두 번째 매개 변수의 수입니다. 배열의 요소 트리는 균형 잡힌 방식으로 만들어야합니다. " 또한 기본 생성자를 작성하는 방법에 대해 혼란 스럽습니다. 아무 것도 전달하지 않고 void BST() 코드를 작성하면됩니다. ? 여기 내 생성자가 있습니다.

void BST(int * arr, int size) 
{ 
    node * Root = NULL; 
    for(int i = 0; i < size; i++) 
     insert(&Root, arr[i]); 
} 

답변

0

생성자 생성자는 클래스와 동일한 이름을 갖게됩니다 그것도 무효하지, 전혀 반환 형식이 없습니다.

기본 생성자 기본 생성자는 인수없이 호출 할 수있는 생성자입니다. 그래서 나는 그렇게하려고 나는 심지어의 클래스 함수를 작성하지 깨달았다

BST::BST(int * arr, int size) 
{ 
    node * Root = NULL; 
    for(int i = 0; i < size; i++) 
     insert(&Root, arr[i]); 
} 
+0

: 같은

BST::BST() { node * Root = NULL; } 

매개 변수화 된 생성자가 될 수 있습니다 : 기본 생성자의 가능한 정의는 같은 수 있습니다 하지만 많은 오류가 발생합니다. –