Sdílet prostřednictvím


Chyba kompilátoru C3771

"identifier" : v nejbližším oboru názvů nelze najít deklaraci přítele.

Poznámky

Deklarace šablony třídy pro zadaný identifikátor šablony nebyla nalezena v aktuálním oboru názvů.

Oprava této chyby

  • Ujistěte se, že deklarace šablony třídy pro identifikátor šablony je definována v aktuálním oboru názvů nebo že identifikátor šablony je plně kvalifikovaný název.

Příklad

Následující příklad kódu deklaruje šablonu třídy a funkci v oboru názvů NA, ale pokusí se deklarovat přátelskou šablonu funkce v oboru názvů 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.
    };
}

Viz také

Šablony