У меня возникла проблема, связанная с получением ошибки сегментации, исходящей из одной из этих трех частей моего кода, предположительно. Я пробовал разные тактики отладки, добавляя cout, чтобы увидеть, в какой момент код облажался, но безрезультатно. Любая помощь будет принята с благодарностью.
void agency::readAllData()
{
int index;
char inputFile[100];
char delim = '}';
car * p_car;
p_car = m_inventory;
cout << "Input file name: " << endl ;
cin >> inputFile;
ifstream input (inputFile);
if (input)
{
input >> m_name >> m_zipcode;
for (index = 0; index < 5; index++)
{
int tempYear, tempAvailable;
float tempPrice;
char tempMake[256], tempModel[256], tempSensors[256], tempOwner[256];
input >> tempYear >> tempMake >> tempModel >> tempPrice;
input.getline(tempSensors, 256, delim);
input >> tempAvailable;
if (tempAvailable = 0);
{
input >> tempOwner;
}
p_car -> readCars(tempYear, tempMake, tempModel, tempPrice, tempSensors, tempAvailable, tempOwner);
p_car++;
}
}
else
{
cerr << "Input file cannot be opened" << endl;
return;
}
return;
}
void sensor::readSensors(char tempSensors[], sensor *sensor_ptr)
{
int index1;
int index2 = 0;
int index3 = 0;
for(index1 = 0; tempSensors[index2] != '\0'; index1++)
{
if (tempSensors[index1] = 'g')
{
gpsCount++;
}
else if (tempSensors[index1] = 'l')
{
lidarCount++;
}
else if (tempSensors[index1] = 'r')
{
radarCount++;
}
else if (tempSensors[index1] = 'c')
{
cameraCount++;
}
for(index2+=index1; tempSensors[index2] != ' '; index2++)
{
sensor_ptr->m_type[index3] = tempSensors[index2];
index3++;
}
sensor_ptr++;
}
return;
}
эти функции существуют среди отдельных файлов, но взаимодействуют в порядке, который я их вставил.