2016-11-25 14 views
0

ptrアクセスタイプを変更せずに次の問題を解決する方法があるかどうか疑問に思っています。boost :: thread_specific_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>' 

答えて

1

boost::thread_specific_ptrが非コピー可能であるため、値で返すことはできません。

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

または含まポインタを返す:

B * get() const { return ptr.get(); } 
をメンバーPTRへ(CONST)参照を返すのいずれか
関連する問題