Condividi tramite


Errore del compilatore C3771

"identifier": impossibile trovare la dichiarazione Friend nell'ambito dello spazio dei nomi più vicino

La dichiarazione di modello di classe per l' identificatore del modello specificato non è stato trovato nello spazio dei nomi corrente.

Per correggere l'errore

  • Verificare che la dichiarazione di modello di classe per l'identificatore del modello sia definita nello spazio dei nomi corrente o che l'identificatore del modello sia un nome completo.

Esempio

Il codice di esempio seguente dichiara una funzione e un modello di classe nello spazio dei nomi NAma tenta di dichiarare un modello di funzione Friend nello spazio dei nomi NB.

// C3771.cpp
// compile with: /c

namespace NA {
template<class T> class A {
    void aFunction(T t) {};
    };
}
// using namespace NA;
namespace NB {
    class X {
        template<class T> friend void A<T>::aFunction(T); // C3771
// try the following line instead
//      template<class T> friend void NA::A<T>::aFunction(T);
// or try "using namespace NA;" instead.
    };
}

Vedi anche

Modelli