Gremlin92
@Gremlin92
Целеустремленный

Как скопировать строку в строку?

Присваиваю строку string path в цикле чтения с файла - но происходит затирание ее в векторе.
while (in >> path ...)
{
...
   im->Name = path;
...
   v.push_back(im);
}
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Что такое Im? Судя по "->" - это указатель. Вы кладете в вектор указатель. И у вас получается вектор из кучи указателей, которые все указывают на одну и ту же область памяти. И вот в эту область памяти вы в цикле постоянно записываете path. В итоге там останется только последняя запись.

Вам надо в векторе хранить не указатели на ваш класс/структуру, а сами объекты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы