с использованием boost 1.47 (x86) на vc2008
#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" }
Конструктор по умолчанию не существует, как мне создать класс с использованием boost :: object_pool ?
A* pa = pool.construct(1, 2); // set required values here
Согласно документации Boost: object_pool
t.construct (???), возвращает ElementType *.ElementType должен иметь конструктор, соответствующий ???.
AFAIK, эта магия поддерживает до 4 параметров.