Мой исходный код (ниже) дает сбой сегм при присвоении строки массива около num_atoms = 150000:небольшая уступка массив строк вызывает ошибку сегментации
int num_atoms=dimension[0]*dimension[1]*dimension[2]*prim_lat.size();
double superlat[num_atoms][3];
string current_occ[num_atoms];
Думая это было первым случаем меня удара переполнение стека вопрос, и думать, что вы можете назначить до кучи с помощью динамического выделения, я попробовал:
int num_atoms=dimension[0]*dimension[1]*dimension[2]*prim_lat.size();
double superlat[num_atoms][3];
string *current_occ = new string[num_atoms];
Этот код дает ошибку сегм примерно num_atoms = 350000. Я не уверен, что обходной путь для этой проблемы. Это просто случай, когда мне нужно увеличить предел стека/кучи? Если да, могу ли я сделать это как вариант gcc?
Это было. Милая! Спасибо, что поймал мою ошибку. – Paul