Heap 정렬을 공부하던 중 Node List 생성에서 오류가 발생
class Node { int data; Node* left; Node* right; public: Node(int data) { this->data = data; this->left = 0; this->right = 0; } friend class Heap; }; class Heap { Node* heap; int n; int MaxSize; Heap(int sz = DefaultSize) { this->MaxSize = sz; this->n = 0; this->heap = new Node[this->MaxSize + 1]; << 에러 발생라인 } };
에러 메시지는 다음과 같았음
No default constructor exists for class
에러 메시지의 뜻은 "기본 생성자가 클래스에 존재하지 않음
Node List를 생성 -> 인자가 없는 Node 생성자를 호출
-> Node에서 인자가 없는 생성자가 존재하지 않음 (문제 발생)
Node class의 기본 생성자를 추가해줌
Node() { this->data = 0; this->left = 0; this->right = 0; }