Salve a tutti,
sto cercando di realizzare una funzione template membro di una classe, che prende in input qualsiasi tipo di dato su cui è implementato l'operatore "<<" e stampi a video.

Ecco il codice del file header

codice:
//Debugger.h
namespace debugger
{
    . . .
    class Debugger
    {
    public:
        . . .
        template<typename T> void Debugger::scrivi(T m );

        . . .
    };
}
e dell'implementazione

codice:
using namespace debugger;
template<typename T> void Debugger::scrivi(T m )
{
    cout<<m;
}
Per richiamare la funzione faccio così:
codice:
Debugger d();
d.scrivi<int>(10);
d.scrivi("ciao");
Ottengo un errore in fase di link per ogni chiamata alla funzione template

main.cpp||undefined reference to `void debugger:: Debugger::scrivi<int>(int)'|
main.cpp||undefined reference to `void debugger:: Debugger::scrivi<char const*>(char const*)'|

Non riesco a capire dov'è il problema.
Ringrazio anticipatamente