C++ 如何为模板类使用friend关键字
假设我有两个模板类,A和B。如果我想让B成为A的朋友,我会说什么C++ 如何为模板类使用friend关键字,c++,class,templates,friend,C++,Class,Templates,Friend,假设我有两个模板类,A和B。如果我想让B成为A的朋友,我会说什么 class<template T> class A { public: friend class B<T>; // ??? }; class<template T> class B { }; 类 甲级 { 公众: B类朋友;/??? }; 班 B类 { }; 要使用符号,必须声明或定义它,这在模板中是相同的。您需要转发声明模板B。另外,声明模板类的语法(class)无效,应该是temp
class<template T>
class A
{
public:
friend class B<T>; // ???
};
class<template T>
class B
{
};
类
甲级
{
公众:
B类朋友;/???
};
班
B类
{
};
要使用符号,必须声明或定义它,这在模板中是相同的。您需要转发声明模板B
。另外,声明模板类的语法(class
)无效,应该是template
这应该起作用:
template <typename T> // typename can be replaced with class
class B;
template <typename T>
class A
{
public:
friend class B<T>;
};
template <typename T>
class B
{
};
template//typename可以替换为class
乙级;;
模板
甲级
{
公众:
B级朋友;
};
模板
B类
{
};