ok, i understand...

i just resolve it declaring s1 and s2 static in a new init() function:

void TColl::init (void)
{

_TOccV<DBE> *p;

static TOcc1 s1;
p = &s1;
_list.push_back(p);

static TOcc2 s2;
p = &s2;
_list.push_back(p);

};

now works but i'm not sure is the right way.