pour un petit projet scientifique J'ai mis en place une classe Simulation qui contient tous les objets simulés dans une liste ptr_list. Parce que j'ai besoin d'avoir un accès rapide à toutes les particules, j'ai ajouté une liste supplémentaire ptr_list. Maintenant, boost se plaint, car il n'aime pas les classes déclarées en avant. recursive_wrapper
m'a déjà été signalé, mais ptr_list< recursive_wrapper<Particle> >
semble ne pas fonctionner non plus.Classe forward-déclarée dans boost :: ptr_list
#include <boost/ptr_container/ptr_list.hpp>
class SimulatedObject {
};
class Particle; // derived from SimulatedObject
class Simulation {
public:
void addObj(SimulatedObject *obj) {
simulatedObjects.push_back(obj);
}
void addObj(Particle *par) {
particles.push_back(par);
}
protected:
boost::ptr_list<SimulatedObject> simulatedObjects;
boost::ptr_list<Particle> particles;
};
int main(int argc, char** argv) {
Simulation sim();
}