2011-12-11 35 views
0

在VC2008的boost :: 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(86):: object_pool

回答

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

根據升壓文檔:object_pool

t.construct(???),返回的ElementType *。 ElementType必須有一個匹配???的構造函數。

AFAIK,這個魔法最多支持4個參數。

+0

非常感謝! – user1006322

相關問題