Wie verwende ich lokale Klassen mit Vorlagen?

GCC scheint es nicht zu billigen, Vorlagen mit lokalen Klassen zu instanziieren:

template <typename T>
void f(T);

void g()
{
    struct s {};

    f(s()); // error: no matching function for call to 'f(g()::s)'
}

VC beschwert sich nicht.

Wie soll es gemacht werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage