Erreur du compilateur C2701

'function' : un modèle de fonction ne peut pas être une friend classe locale

Une classe locale ne peut pas avoir de modèle de fonction en tant que friend fonction.

L’exemple suivant génère l’erreur C2701 :

// C2701.cpp
// compile with: /c
template<typename T>   // OK
void f1(const T &);

void MyFunction() {
   class MyClass {
      template<typename T> friend void f2(const T &);   // C2701
   };
}