gpt4 book ai didi

c++ - 模板互相帮助

转载 作者:搜寻专家 更新时间:2023-10-31 00:20:18 24 4
gpt4 key购买 nike

我有一个 ResourcePtr<T>类模板和 ResouceManager<T>模板。我希望两人成为彼此的 friend 。如果我执行以下操作,则会出现编译错误;我该如何解决这个问题?

template<class T>
class ResourcePtr
{
friend class ResourceManager<T>;
};

template<class T>
class ResourceManager
{
friend class ResourcePtr<T>;
};

error C2059: syntax error : '<'
error C2238: unexpected token(s) preceding ';'

最佳答案

像往常一样处理相互事物:在定义另一个之前先声明一个。

template<class T>
class ResourceManager;

template<class T>
class ResourcePtr
{
friend class ResourceManager<T>;
};

template<class T>
class ResourceManager
{
friend class ResourcePtr<T>;
};

关于c++ - 模板互相帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6276893/

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