如何在模板类中使用friend关键字

3

假设我有两个模板类A和B。如果我想让B成为A的友元,我应该怎么说?

class<template T>
class A
{
public:
friend class B<T>; // ???


};

class<template T>
class B
{

};
1个回答

2

要使用符号,必须先声明或定义它,在模板中也是如此。您需要预先声明模板B。另外,您声明模板类的语法(class<template T>)不正确,应该是template <class T>

以下代码可以正常工作:

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
{

};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接