[C con Clase] Plantillas en C++
lsri8088
lsri8088 en gmail.com
Mie Mayo 16 15:53:10 CEST 2007
Hola, a ver si podeis ayudarme... ya no se que hacer... soy lago
novato en C++ :-(
Tengo estas dos plantillas en la misma unidad:
/******** PLANTILLA NODO *******************************/
template <class T, bool(*FunMenor)(const T&, const T&)> class AVL;
template <class T>
class NodoAVL{
protected:
T dato;
NodoAVL* hi;
NodoAVL* hd;
int altura;
public:
NodoAVL(NodoAVL* hi= NULL, NodoAVL* hd = NULL);
NodoAVL(const T& d, NodoAVL* s = NULL);
~NodoAVL();
friend class AVL<T,FunMenor)>; //linea 29
};
/* IMPLEMENTACION */
....
....
/******** PLANTILLA AVL (Arbol AVL) *******************************/
template<class T> class Pila;
template <class T, bool(*FunMenor)(const T&, const T&)>
class AVL{
private:
NodoAVL<T>* raiz;
int numElems;
Pila<NodoAVL<T>*>* iterador;
void copia(NodoAVL<T>* &, NodoAVL<T>*);
void libera(NodoAVL<T>*&)
...
....
};
Y me da estos errores:
[C++ Error] UAVL.h(29): E2451 Undefined symbol 'FunMenor'
[C++ Error] UAVL.h(29): E2401 Invalid template argument list
[C++ Error] UAVL.h(29): E2061 Friends must be functions or classes
Saludos
Más información sobre la lista de distribución Cconclase