Ahah grazie Cmq ora c'è un altro problema >.<
Praticamente nella lista ho degli oggetti GameObject, però ho bisogno di cambiare il tipo di uno con uno derivato da GameObject quindi uso:
void assign(string name; GameObject *newObj){
vector<GameObject*>::iterator it;
bool found=false;
int index=0;
for (it=objects.begin(); it!=objects.end(); ++it){
if ((*it)->getName()==name){
found=true;
break;
}
index++;
}
if (found){
objects[index]=newObj;
}
};
Però newObj in realtà non sarà di classe GameObject, ma di una classe derivata, però quando faccio
GameObjDer *obj;
listaOggetti.assign("nomeOggetto", obj);
listaOggetti.getObject("nomeOggetto")->update();
, richiama la funzione update di GameObj e non di GameObjDer... Come faccio per risolvere