OK,

per fortuna, come ogni tanto mi succede, dopo la decisione di chiedere aiuto qui, trovo una soluzione all'n+1esimo tentativo. Ed ecco come sono riuscito a risolvere.

La funzione che produce il vector, ora ritorna il tipo di risultato vector<Person> e non più un puntatore.

A questo punto, ho fatto come segue:

codice:
vector<Person> list;

[...]

while(res->next()){
    list.push_back(Person(res->getString("NAME"),
	res->getString("SURNAME"),
	res->getString("CITY"),
	res->getInt("NUMBER")));
}

[...]
return list;
Dal lato del chiamante invece:

codice:
vector<Person> list;

list = PersonController::findAll(con);

for(unsigned int i=0; i<list.size(); i++){
	cout << list[i].getName() << endl;
}
Grazie, e spero che comunque questo post possa servire ad altri che come me hanno poca esperienza in C++.