boost :: object_pool :: construct () в Visual C ++ - PullRequest
0 голосов
/ 11 декабря 2011

с использованием 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 ?

1 Ответ

0 голосов
/ 11 декабря 2011
A* pa = pool.construct(1, 2);  // set required values here

Согласно документации Boost: object_pool

t.construct (???), возвращает ElementType *.ElementType должен иметь конструктор, соответствующий ???.

AFAIK, эта магия поддерживает до 4 параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...