C ++: возможно ли подружиться со всеми экземплярами шаблонного класса? - PullRequest
9 голосов
/ 20 декабря 2011

У меня есть шаблонный класс с именем RenderShader, у меня также есть класс с именем Render. Я хотел бы, чтобы все экземпляры класса шаблона RenderShader дружили с Render. Также пользователю разрешено создавать свои собственные экземпляры RenderShader, поэтому невозможно перечислить их все в главном заголовочном файле. Например:

template<class vertdef>
class RenderShader
{
public:
.....
};

class Render
{
    friend class RenderShader;
public:
    ....
};

Синтаксис "friend RenderShader" неправильный, есть ли правильный синтаксис для того, что я хотел бы сделать?

1 Ответ

16 голосов
/ 20 декабря 2011
class Render
{
    template<class vertdef>
    friend class RenderShader;
public:
    ....
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...