Lo que plantea CalgaryCorpus es cierto, debes entender que una clase amiga es una clase que no pertentenece a la clase, pero que sin embargo es capaz de acceder a los miembro privados de ella. Esto rompe en algun sentido los conceptos de la programacion orientada a objecto. Pero aun asi es valido su uso. La forma de hacerlo en tu caso sería de la siguiente forma:
Código Codigo:
Ver original#ifndef _TBT_H_
#define _TBT_H_
template <class type> class UnaClase
{
private:
int x;
public:
UnaClase(){ //constructor de UnaClase
};
UnaClase(int numero){ //2do constructor de UnaCLase
this->x = numero;
}
template <class type>
friend void output(UnaClase<type>);
};
#endif
using namespace std;
template <class type>
void output(UnaClase<type> obj)
{
int num = obj.x; //linea 10
}
int main()
{
UnaClase<int> objeto;
output(objeto);
return 0;
}