Может кто-нибудь помочь мне с этой ошибкой.Я не спал всю ночь, пытаясь заставить этот код работать, не могу понять это.
Я пытаюсь вычеркнуть одно значение из моей векторной распорки, но я продолжаю получать эту ошибку EXC_BAD_ACCESS.Я использовал перерывы, чтобы увидеть, являются ли переменные такими, какими они должны быть, и они есть, но ошибка продолжается.Можете ли вы помочь мне?
vector<department> depart;
depart.push_back(department());
while(lineNum <= lineCount)
{
lineNum = lineNum;
depart[lineNum].dept = sTemp1;
depart[lineNum].building = sTemp2;
depart[lineNum].budget = sTempToInt;
depart.push_back(department());
lineNum++;
}
vector<department> deptVec;
cout << "Vector output: " << deptVec[0].budget;
}
else
{
sTemp1.erase (remove (sTemp1.begin(), sTemp1.end(), ' '), sTemp1.end()); //clean up
//sTemp2.erase (remove (sTemp2.begin(), sTemp2.end(), ' '), sTemp2.end()); //clean up
sTemp2.erase(find_if(sTemp2.rbegin(), sTemp2.rend(), bind1st(std::not_equal_to<char>(), ' ')).base(), sTemp2.end());
sTemp3.erase (remove (sTemp3.begin(), sTemp3.end(), ' '), sTemp3.end()); //clean up
sTempToInt = stoi(sTemp1);//file is instructor
vector<intructor> intruct;
intruct.push_back(intructor()); //Push back new subject created with default constructor.
for(int lineNum = 0; lineNum>= lineCount; lineNum++) //Will create a set of vectors for each line.
{
intruct[lineNum].id = sTempToInt;
intruct[lineNum].name = sTemp2;
intruct[lineNum].dept = sTemp3;
intruct.push_back(intructor()); //Adds a new element:
}
cout << sTempToInt << "\n" << sTemp2 << "\n" << sTemp3 << "\n";
}
Часть, которая дает мне ошибку:
vector<department> deptVec;
cout << "Vector output: " << deptVec[0].budget;
Предполагается, что вывести int, но пропускает ошибку.Я проверил, что Department.budget содержит Int.Не уверен, что попробовать.