У меня есть вектор объектов класса, который я создал в основном, читая в файле данных.Затем я передаю вектор нескольким различным файлам, содержащим функции, которые выполняют различные операции над вектором (сортировка по разным полям, вычитание инвентаря и т. Д.).Я сталкиваюсь с проблемой, когда пытаюсь использовать push_back
для добавления к вектору в другом файле (это часть того же проекта) после того, как он уже создан.Существующий вектор передается в функцию, и вектор успешно добавляется в функцию, но когда я выхожу из функции, добавленной записи больше нет, и, насколько я могу судить, я должен получить доступ к обновленнойвектор после этой точки вперед из всех моих разных функций в разных файлах, верно?Мне не нужно возвращать обновленный вектор, если он совпадает с именем, которое я создал в main, не так ли?Я уверен, что язык и терминология, которую я использую, неверны (и, пожалуйста, не стесняйтесь меня поправлять), но это почти так, как если бы вектор не обновлялся глобально и обновлялся только локально внутри функции во время ее вызова.
Это определение функции и код внутри функции, которую я использую, где я хочу добавить в вектор (для краткости я пропускаю все назначения переменных параметров).Все функции, на которые я указываю, являются установочными функциями в классе, и до этого момента вектор уже содержал 20 записей и был настроен аналогично функции ниже.
void addBook(vector<BookData> books)
{
BookData *books1;
books1 = new BookData;
books1->setTitle(bookTitle);
books1->setAuthor(author);
books1->setPub(publisher);
books1->setIsbn(isbn);
books1->setWholesale(wholesale);
books1->setRetail(retail);
books1->setQty(qtyOnHand);
books1->setDateAdded(dateAdded);
books.push_back(*books1);
}
Я не делалНе хочу заполнять пост слишком большим количеством кода, но я могу опубликовать больше, если это будет полезно.Я просто хочу, чтобы дополнения (или удаления, которые я делаю в другой функции) были доступны во всей программе.