struct MaClasse
{
    template<class T>
    void fait() { }
};

template<class T>
void mafonction(T& t)
{
    t.fait<int>(); //error: expected primary-expression before 'int'
}

int main()
{
    MaClasse maclasse;
    mafonction(maclasse);
}