简体   繁体   English

C ++:是否可以与模板类的所有实例建立联系?

[英]C++: Is it possible to friend all instances of a template class?

I have a template class called RenderShader, I also have a class called Render. 我有一个名为RenderShader的模板类,我还有一个名为Render的类。 I would like to have all instances of the RenderShader template class to be friends with Render. 我想将RenderShader模板类的所有实例都与Render成为朋友。 Also the user is allowed to make their own RenderShader instances so it's not possible to list all of them in the main header file. 此外,允许用户创建自己的RenderShader实例,因此无法在主头文件中列出所有这些实例。 For Example: 例如:

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

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

The syntax "friend RenderShader" is wrong, is there a correct syntax for what I would like to do? 语法“朋友RenderShader”是错误的,我想做什么的语法是否正确?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM