EXC_BAD_ACCESS при возврате функции

Я озадачен ошибкой в ​​моем коде, когда я получаю EXC_BAD_ACCESS, когда вызов функции завершается и выходит из функции. Это довольно длинный кусок кода, поэтому я постараюсь его сократить. У меня есть такой класс:

class BigClass {
public:
// some class members
HelperClass object1; // this class describes a particular type of graph
HelperClass object2;
BigClass(int n, int m, long double epsilon,
long double numerical_accuracy_tol, ...); // calls constructor for obj1, 2
void GenerateInstance(); // Populates graphs for obj 1 and 2
// some more stuff
}

GenerateInstance() похоже:

void BigClass::GenerateInstance() {
// generate matrix m1
object1.PopulateGraph(m1);
// generate some matrix m2
object2.PopulateGraph(m2);
}

Когда я запускаю это, я могу EXC_BAD_ACCESS, Если я отлаживаю шаг за шагом, он запускается object2.PopulateGraph(m2), но когда он выходит из него, я получаю сбой. То же самое происходит, даже если удалить весь код из PopulateGraph () и просто распечатать тестовое сообщение, или даже если я также удалю части кода, которые генерируют матрицы или заполняют объект1. Единственный способ заставить его не выдавать ошибку, если я запускаю

void BigClass::GenerateInstance() {
// everything commented out
object2.PopulateGraph(); // Populate graph empty
}

HelperClass похоже

class HelperClass {
public:
int num_partitions_;
long double numerical_accuracy_tolerance_;
vector<SomeOtherObject> subgraphs_;
HelperClass(int num_partitions, long double numerical_accuracy_tolerance);
}HelperClass::HelperClass(int num_partitions, long double numerical_accuracy_tolerance) {
num_partitions_ = num_partitions;
numerical_accuracy_tolerance_ = numerical_accuracy_tolerance;
}

subgraph_ член заполняется PopulateGraph(<vector<vector<long double> > m1),

Есть идеи, почему это происходит? Я не занимаюсь выделением памяти самостоятельно, и поскольку ошибка возникает, даже если я закомментирую большую часть своего кода, я не думаю, что это может быть … Спасибо за любые ваши отзывы.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector