2011-12-11 14 views
0

のデフォルトコンストラクタが存在しないVC2008ブースト:: object_pool ::構築物()のVisual C++

#include<boost/pool/object_pool.hpp> 
class A 
{ 
private: 
    friend class boost::object_pool<A>; //to prevent alloc other ways (ex> new A;) 
    A(int a, int b){ aa = a; bb = b} 
    int aa; 
    int bb; 
}; 

void main() 
{ 
    boost::object_pool<A> pool; 
    A* pa = pool.construct(); //error "No appropriate default constructor available" 
} 

でブースト1.47(x86の)を使用して、どのように私はブーストを使用してクラスを作成します:: object_pool

答えて

0
 
A* pa = pool.construct(1, 2); // set required values here 

ドキュメントを後押しするためによると:

t.construct(???)object_pool、のElementTypeは*を返します。 ElementTypeには???と一致するコンストラクタが必要です。

AFAIK、最大4つのパラメータがこの魔法でサポートされています。

+0

ありがとうございます! – user1006322

関連する問題