программа вылетает(c++,qt)

140
26 мая 2019, 22:00

У меня все файлы находятся в папке build-****-Desktop_Qt_5_11_1_MSVC2017_64bit-Release.Считываю файлы в вектор в слоте кнопки.что Не так?

Переменные и заголовки:

std::vector<int>VecAnswers;
std::vector<std::string>VecQuestions;
std::vector<Var>VecVariants;
Var radioBut;
std::ifstream finQu("Qu.txt");
std::ifstream finVar("Var.txt");
std::ifstream finAns("Ans.txt");

А вот не рабочее место:

finAns>>k;
//qDebug()<<k<<endl;
VecAnswers.reserve(k);
//qDebug()<<VecAnswers.capacity()<<endl;
//qDebug()<<VecAnswers.size()<<endl;
VecVariants.reserve(k);
//qDebug()<<VecVariants.size()<<endl;
VecQuestions.reserve(k);
//qDebug()<<VecQuestions.size()<<endl;
for (int i = 0; i < k; ++i) {
    finAns>>VecAnswers[i];
    std::getline(finVar,VecVariants[i].s1);
    std::getline(finVar,VecVariants[i].s2);
    std::getline(finVar,VecVariants[i].s3);
    std::getline(finQu,VecQuestions[i]);
}

push_back'ом еще не пробовал.

Answer 1

С push_back все работает:

int Ans;
Var Vari;
std::string Quest;
finAns>>k;
//qDebug()<<k<<endl;
//VecAnswers.reserve(k);
//qDebug()<<VecAnswers.capacity()<<endl;
//qDebug()<<VecAnswers.size()<<endl;
//VecVariants.reserve(k);
//qDebug()<<VecVariants.size()<<endl;
//VecQuestions.reserve(k);
//qDebug()<<VecQuestions.size()<<endl;
for (int i = 0; i < k; ++i) {
    finAns>>Ans;
    VecAnswers.push_back(Ans);
    std::getline(finVar,Vari.s1);
    std::getline(finVar,Vari.s2);
    std::getline(finVar,Vari.s3);
    VecVariants.push_back(Vari);
    std::getline(finQu,Quest);
    VecQuestions.push_back(Quest);
}

Но что не так было?

READ ALSO
Последовательность Фибоначчи в с++ [закрыт]

Последовательность Фибоначчи в с++ [закрыт]

Требуется записать последовательность Фибоначчи данная шаблоном

117
Const char* не совместим с LPCWSTR [дубликат]

Const char* не совместим с LPCWSTR [дубликат]

На данный вопрос уже ответили:

101
ввод только double в командную строку

ввод только double в командную строку

В общем столкнулся с такой проблемой, как ввод числа в консолиТак вышло что консоль, выводит числа не совсем корректно как хотелось бы

107
Создание процессов в С++11

Создание процессов в С++11

Пишу программу, используя С++11Появилась необходимость создать новый процесс

136