Начальный программист здесь. Я получаю ошибку нарушения прав доступа в моей программе направленного графа, и мне интересно, может ли кто-нибудь объяснить мне, почему.Нарушение прав доступа в C++
Вот код неисправности (не беспокойтесь, это немного). Этот код из моей основной функции. Я только что прочитал некоторую информацию из файла, проанализировал ее и попытаюсь вставить ее в ведро с помощью функции InitialInsert.
//Store parsed file values
sourceCity = line[0];
destinationCity = line[1];
miles = stoi(line[2]);
cost = stoi(line[3]);
//Insert parsed values into Info bucket
graph.InitialInsert(sourceCity, destinationCity, miles, cost, size++); //Size is initialized to 0
Это начальная функция вставки.
//InitialInsert function
void Graph::InitialInsert(string source, string destination, int distance, int price, int index)
{
InfoBuckets[index]->sourceCity = source;
InfoBuckets[index]->destinationCity = destination;
InfoBuckets[index]->miles = distance;
InfoBuckets[index]->cost = price;
}
И это из моего заголовочного файла.
static int const ARRAY_SIZE = 1000;
struct InitialInfo
{
string sourceCity;
string destinationCity;
int miles;
int cost;
};
InitialInfo* InfoBuckets[ARRAY_SIZE];
Я получаю сообщение об ошибке «Нарушение прав доступа чтения местоположения 0xCCCCCCE4», когда я попал в первую линию моей функции InitialInsert. Это, наверное, глупая проблема, но может ли кто-нибудь помочь мне?
Я предполагаю, что вы не делаете указателей в точке «InfoBuckets» в любом месте до их использования. – juanchopanza
Где именно "размер" инициализирован? Какое значение должно быть при первом вызове функции? – wolfPack88
похоже, что вы не выделяете пространство для своих объектов 'InitialInfo' –