gpt4 book ai didi

c++ - boost::thread_specific_ptr 无法访问类中声明的私有(private)成员

转载 作者:行者123 更新时间:2023-11-28 05:24:39 24 4
gpt4 key购买 nike

我想知道是否有一种方法可以在不更改 ptr 访问类型的情况下解决以下问题。

class A
{
private:
static boost::thread_specific_ptr< B> ptr;
public:
boost::thread_specific_ptr< B> get() { return poolmanager_boost; }
};

错误:

boost::thread_specific_ptr<B>::thread_specific_ptr': cannot access private member declared in class 'boost::thread_specific_ptr<B>'

最佳答案

boost::thread_specific_ptr 是不可复制的,因此不能按值返回。返回对成员 ptr 的 (const) 引用:

const boost::thread_specific_ptr< B> & get() const { return ptr; }

或者返回包含的指针:

B * get() const { return ptr.get(); }

关于c++ - boost::thread_specific_ptr 无法访问类中声明的私有(private)成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40803860/

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