gpt4 book ai didi

c++ - 如何为模板类使用 friend 关键字

转载 作者:太空狗 更新时间:2023-10-29 21:44:48 24 4
gpt4 key购买 nike

假设我有 2 个模板类,A 和 B。如果我想让 B 成为 A 的 friend ,我会怎么说?

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
{

};

关于c++ - 如何为模板类使用 friend 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com