小さな科学プロジェクトのために、シミュレートされたすべてのオブジェクトを ptr_list に保持する Simulation クラスをセットアップしました。すべてのパーティクルにすばやくアクセスする必要があるため、追加の ptr_list を追加しました。前方宣言されたクラスが好きではないため、ブーストは不平を言うようになりました。recursive_wrapper
すでに指摘されていましたが、ptr_list< recursive_wrapper<Particle> >
どちらもうまくいかないようです。
#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();
}