我有一个通过读取数据文件在 main 中创建的类对象向量。然后,我将向量传递给几个不同的文件,这些文件包含对向量执行不同操作的函数(按不同字段排序、减去库存等)。当我尝试使用时遇到问题push_back
在创建后添加到另一个文件(这是同一项目的一部分)中的向量。预先存在的向量被传递给函数并且向量被成功添加到函数中,但是当我退出函数时,添加的记录不再存在,据我所知,我应该访问更新的之后的向量从我在不同文件中的所有不同功能开始,对吗?如果更新后的向量与我在 main 中创建的名称相同,我不应该将其传回,不是吗?我确定我使用的语言和术语是错误的(请随时纠正我),但这几乎就像向量没有在全局范围内更新,而只是在函数内本地更新它的调用期间.
这是我要添加到向量的函数中的函数定义和代码(为简洁起见,我跳过了所有可变参数分配)。我指向的所有函数都是类中的 setter 函数,在此之前,向量已经包含 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);
}
我不想用太多代码淹没帖子,但如果有帮助,我可以发布更多。我只希望在整个程序中都可以访问添加(或我在另一个函数中所做的删除)。