Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何返回节点的地址?_C++_Templates - Fatal编程技术网

C++ 如何返回节点的地址?

C++ 如何返回节点的地址?,c++,templates,C++,Templates,我想在找到一个节点后返回它的地址 节点对象类位于设置为private的树类中(private是其中的节点) 我将向您展示一个函数,它与我想要的非常相似,但具有bool返回类型。 如果节点存在于树中,则返回true;如果节点不存在,则返回false。我只想返回包含我要查找的元素的节点的指针或地址,以便将来使用它 下面是函数。(传递的“t”是一个整数) 模板 甲酚 { 私人: 模板 野藤班 { 公众: 诺多(康斯特·德诺多·达托帕萨多), Nodo*izqPasado=NULL,//HIJO-IZQ

我想在找到一个节点后返回它的地址

节点对象类位于设置为private的树类中(private是其中的节点)

我将向您展示一个函数,它与我想要的非常相似,但具有bool返回类型。 如果节点存在于树中,则返回true;如果节点不存在,则返回false。我只想返回包含我要查找的元素的节点的指针或地址,以便将来使用它

下面是函数。(传递的“t”是一个整数)

模板
甲酚
{
私人:
模板
野藤班
{
公众:
诺多(康斯特·德诺多·达托帕萨多),
Nodo*izqPasado=NULL,//HIJO-IZQUIERDO-NULL
Nodo*derPasado=NULL)//HIJO DERECHO NULL
:dato(datoPasado)、izq(izqPasado)、der(derPasado){}
Nodo();
//成员
德诺多达托;
Nodo*izq;
诺德;
};
Nodo*raiz;//变量raiz de la clase interna
Nodo*actual;//posicion-actual
int contador;//contador
int altura;//altura
////////////////////////////////////////////////
公众:
Arbol():raiz(NULL),实际(NULL){};
//Iniciar(施工测试与测试);
~Arbol();
//艾尔阿尔波尔酒店
无效插入器(常数);
//博罗阿尔博元素酒店
void Borrar(const T);
//阿尔波尔元素酒店
布尔公共汽车(常数);
//基本要素
节点*总线卡演进器(常数);
//埃斯瓦乔????
布尔埃斯瓦西奥();
};
模板
节点*Arbol::BuscarDevolver(常数T)
{
如果(!EsVacio())
{
实际值=raiz;
while(实际值!=NULL)
如果(实际->数据==t)
返回实际值;
否则如果(tdato)
{
实际值=实际值->izq;
}
否则如果(t>实际->数据)
{
实际=实际->订单;
}
}
返回NULL;
}
正如您可能注意到的,我正在二叉树中搜索一个节点 提前感谢您的帮助


我收到了一些错误,比如“Node没有命名类型”

Node
Arbol
中的嵌套类型,因此您应该像这样声明您的函数:

template< class T > Arbol<T>::Node<T>* Arbol<T>::Buscar(const T t);
templateArbol::Node*Arbol::Buscar(const T);

您得到的错误不是由您发布的代码触发的,请发布实际代码。当我设置返回类型时,会出现错误:模板节点*Arbol::Buscar(const T)请编辑代码以反映这一点。还显示了
节点的定义
,顺便说一句,它不是
Arbol
中的嵌套类型吗?也许我不能做我想做的事情,答案是在找到节点时进行修改,而不返回任何内容。解决方案是在声明中将代码更改为:Nodo*Arbol::BuscarDevolver(const t){……}函数返回类型为模板Arbol::Nodo*
template< class T > Arbol<T>::Node<T>* Arbol<T>::Buscar(const T t);