3
可以說我有2個模板類,A和B.如果我想讓B成爲A的朋友,我會說什麼?如何使用模板類的朋友關鍵字
class<template T>
class A
{
public:
friend class B<T>; // ???
};
class<template T>
class B
{
};
可以說我有2個模板類,A和B.如果我想讓B成爲A的朋友,我會說什麼?如何使用模板類的朋友關鍵字
class<template T>
class A
{
public:
friend class B<T>; // ???
};
class<template T>
class B
{
};
要使用符號,它必須聲明或定義,這是模板中相同。您需要轉發申報模板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
{
};