Пожалуйста, остановите это.
std::vector
создано, чтобы вам не приходилось выделять память для контейнера самостоятельно.std::string
есть, чтобы вам не приходилось использовать char *
или прибегать к использованию буферов фиксированного размера.
Пожалуйста, исправьте:
std::vector<string> slownikds;
std::string line;
while (getline(slownik, line)) {
slownikds.push_back(line);
}
Причина, по которой выполучение «ошибки» может быть одним из трех:
- Вы не инициализировали
*line
, поэтому он указывает на неинициализированную память или, возможно, NULL
- пытаясь получить доступ к функции-члену
push_back
через оператор доступа к элементу-указателю - что-то foobar
В любом случае не с использованием указателей, как я делал выше,это ответ