C++:是否可以将模板类的所有实例都加为好友?

标签 c++ templates

我有一个名为 RenderShader 的模板类,还有一个名为 Render 的类。我想让 RenderShader 模板类的所有实例都与 Render 成为 friend 。此外,用户可以创建自己的 RenderShader 实例,因此不可能在主头文件中列出所有实例。例如:

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

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

语法“friend RenderShader”是错误的,我想做的事情有正确的语法吗?

最佳答案

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

关于C++:是否可以将模板类的所有实例都加为好友?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569029/

相关文章:

c++ - 具有元组类型子集相应参数的模板函数

C++帮助类继承

c++ - C++ 中的编译流程

c++ - 如何使用 type_traits 生成依赖于类特化是否存在的代码?

c++ - 在 Visual Studio 2012 中限制函数模板类型

c++ - 急需 _doserrno (MSVC) 的详细信息

c++ - 如何将 decltype 与成员函数一起使用

c++ - 专门用于整数值集的模板

c++ - 为什么 SFINAE 不能跨多重继承工作?

c++ - 如何将一个 vector 的元素引用复制到另一个 vector ?