C ++ шаблоны, частичная специализация и друзья - PullRequest
0 голосов
/ 22 февраля 2012

У меня проблемы с получением класса, чтобы он дружил с шаблоном и всеми его частичными специализациями.Есть ли какой-то конкретный прием для достижения этого или какого-то ограничения, о котором я не знаю?

1 Ответ

2 голосов
/ 22 февраля 2012
class Y{
  template<class T>
  friend class X; // friends all instantiation forms of X

  void a_private_func() const{}
};

template<class T>
class X{
public:
  void f(Y const& y){ y.a_private_func(); }
};

template<class T>
class X<T*>{
public:
  void g(Y const& y){ y.a_private_func(); }
};

Живой пример на Ideone.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...