30/09/2018, 16:02

Hỏi về Constant Reference trong C++

E có đoạn Code sau: http://codepad.org/gXevanBt. Code bị lỗi ở Line 11, không thể chuyển từ ‘TreeNode<keyType,dataType> *’ sang ‘const TreeNode<keyType,dataType> *&’, E bỏ chú thích ở dòng 10 và thay _root trong dòng 11 thành biến p. Nhưng vẫn ko được. Vậy phải truyền sao cho đúng ?

Đỗ Trung Quân viết 18:08 ngày 30/09/2018

Mang ra đây cho dễ nhìn nhé.

template <typename keyType, typename dataType>
class BinarySearchTree {
public:
BinarySearchTree<keyType, dataType>() {
		_root = NULL;
	}
ErrorCode Delete(keyType target) {
		// Implemented by using recursive_Delete AND iterative_Delete
		// Your code here
		// const TreeNode<keyType, dataType> *p = _root;
		return recursive_Delete(_root,target);
	}
protected:
TreeNode<keyType, dataType> *_root;
ErrorCode recursive_Delete(const TreeNode<keyType, dataType> *&subroot, keyType target) {
		// Your code here
		if(subroot==NULL) return ERRORCODE_NOTFOUND;
		else{
			if(subroot->data.key > target) recursive_Delete(subroot->left,target);
			else if(subroot->data.key < target) recursive_Delete(subroot->right,target);
			else{
				 return removeNode(subroot,target);
			}
		}
	}
Bài liên quan
0