Ошибка сегментирования . Когда делал отладку , программа отлетает на 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, который передается по значению - внутри используется копия глобальной переменной с таким же именем.
А на момент использования он пуст.

→ Ссылка