我只是C ++的初学者。关于是否可以将私有指针变量作为函数参数传递,我在这里有点困惑。
我有一个名为insert
的函数,它有以下原型:
bool TreeDB::insert(TreeNode *tn,DBentry *newEntry);
在我的程序中,我使用了以下行:insert(root,newEntry)
其中root
是TreeNode*
但是调试器一旦到达以下行就停止在此函数内工作:
tn=new TreeNode(newEntry);
这是函数声明:
bool TreeDB::insert(TreeNode *tn,DBentry *newEntry){
if(tn==NULL){
tn=new TreeNode(newEntry);
return true;
}
else if(newEntry->getName() == tn->getEntry()->getName())
return false;
else{
if(newEntry->getName() > tn->getEntry()->getName())
return insert(tn->getRight(),newEntry);
else
return insert(tn->getLeft(),newEntry);
}
}
任何有关解决此问题的建议都将受到赞赏。