Ошибка сегментирования . Когда делал отладку , программа отлетает на 61 строке, в скриншоте показано
#include "MK.h"
using namespace std;
std::vector<std::vector<Coordinates>> Vector_of_Vectors;
void Initialization_Vector_of_Vectors(int total_time, int count_of_molecules){
Vector_of_Vectors.resize(total_time);
for (int i = 0; i<total_time;i++){
Vector_of_Vectors[i].resize(count_of_molecules);
}
}
generation_of_departure_points(std::vector<std::vector<Coordinates>> Vector_of_Vectors,
int count_of_molecules,
int total_time
) {
Initialization_Vector_of_Vectors(total_time, count_of_molecules);
int Count_1 = 115.5*Coef;
int j = 0;
int tmp_1 = 115.5;
while(j<=Count_1){
Vector_of_Vectors[0][j].x = tmp_1 - 115.5/Count_1;
Vector_of_Vectors[0][j].y = 508;
tmp_1 = Vector_of_Vectors[0][j].x;
j++;
}
int main() {
// Ваша реализация
generation_of_departure_points(Vector_of_Vectors,1000,30);
return 0;
}
/*Допущение
*/
Нижепредставлен код файла хэдэра
#ifndef MK_H
#define MK_H
#include <iostream>
#include <vector>
typedef struct Coordinates {
double x;
double y;
}Coordinates;
void generation_of_departure_points(std::vector<Coordinates>& Coordinates_vector, int count_of_molecules);
void Initialization_Vector_of_Vectors(int total_time);
#endif
Ответы (1 шт):
Автор решения: Maxim Timakov
→ Ссылка
В большинстве функций используется глобальная переменная Vector_of_Vectors.
В функции generation_of_departure_points используется параметр Vector_of_Vectors, который передается по значению - внутри используется копия глобальной переменной с таким же именем.
А на момент использования он пуст.