I created object pool as the following.
void Arrow::CreatePools( cocos2d::Layer *layer )
{
Sprite * sprite;
int i;
//--CREATE ENEMY OBJECT POOL--//
enemyPool = new Vector<Sprite*>(MAX_ENEMY_NUMBER);
enemyIndex = 0;
for (i = 0; i < MAX_ENEMY_NUMBER; i++) {
sprite = Sprite::create("Enemy.png");
sprite->setVisible(false);
layer->addChild(sprite);
enemyPool->pushBack(sprite);
}
When I try to pull object from pool, cocos gives this error; {return static_cast<size_type>(this->__end_ - this->__begin_);}
My object pulling method as following.
auto enemy = enemyPool->at(enemyIndex);
enemyIndex++;
if (enemyIndex == enemyPool->size())
enemyIndex = 0;
enemy->stopAllActions();
enemy->setPosition(myStartPoint);
enemy->runAction(myAction);
enemy->setVisible(true);