Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
"name" : érvénytelen barátsablon-deklaráció
Megjegyzések
Érvénytelen egy osztálysablon-specializáció barátjának deklarálása. Az osztálysablon explicit vagy részleges specializációját, valamint a specializáció barátját nem deklarálhatja ugyanabban a nyilatkozatban. A névhelyőrző azonosítja az érvénytelen deklarációt.
A hiba kijavítása
Ne deklarálja az osztálysablon-specializáció egyik barátját.
Ha az alkalmazásnak megfelelő, deklarálhatja az osztálysablon egyik barátját, vagy deklarálhatja egy adott részleges vagy explicit specializáció barátját.
Example
Az alábbi példakód meghiúsul, mert egy osztálysablon részleges specializációjának egy barátját deklarálja.
// c3772.cpp
// compile with: /c
// A class template.
template<class T> class A {};
// A partial specialization of the class template.
template<class T> class A<T*> {};
// An explicit specialization.
template<> class A<char>;
class X {
// Invalid declaration of a friend of a partial specialization.
template<class T> friend class A<T*>; // C3772
// Instead, if it is appropriate for your application, declare a
// friend of the class template. Consequently, all specializations
// of the class template are friends:
// template<class T> friend class A;
// Or declare a friend of a particular partial specialization:
// friend class A<int*>;
// Or declare a friend of a particular explicit specialization:
// friend class A<char>;
};