Aha, es un enum. Igual digo una tontería, pero me suena que entonces la declaración de la función debería ser:
Código cpp:
Ver originaltemplate <class X> booleano IDA<X>::BuscarSolucion(CLista<X> * lista, TipoDePoda & p)
De hecho, según el mensaje del error, es a lo que estás intentando llamar.