2
中的前向聲明類我設置了一個模擬類,它將所有模擬對象保存在ptr_list中。因爲我需要快速訪問所有的粒子,我添加了一個額外的ptr_list。現在鼓勵抱怨,因爲它不喜歡前進聲明的類。已經向我指出recursive_wrapper
,但ptr_list< recursive_wrapper<Particle> >
似乎也不能工作。對於一個小型科學項目,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();
}