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 ?
Hỏi về Constant Reference trong C++
1 Like
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);
}
}
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?