Надеюсь, я проясню ....
В моем коде я определяю box
, который содержит набор элементов (bead
):
vector<vector<vector<set<std::tr1::shared_ptr<bead> > > > > boxes;
Я добавляю элемент к box
, используя:
boxes[i][j][k].insert(aBead);
По какой-то причине я получаю ошибку сегментации здесь.Насколько я могу судить, ошибка сегментации не возникает из-за недопустимых bead
и i
, j
, k
, все они меньше размера бокса и не являются отрицательными.
Если вам интересно, бусинки это:
class particle{
public:
vec pos;
vec oldPos;
vec vel;
vec F;
vec oldF;
int charge;
int type;
double U;
double nextU;
};
class bead: public particle{
public: //most of this is redundant...
int charge;
int type;
double rho;
double nextRho;
int LID;
bool keep;
bool touch;
double radius;
}
class vec{
public:
double x;
double y;
double z;
velarray<double> coor; //on it's way to being canceled
}