0

我有一个名为“Store”的类,它有 2 个“set”类型的数据字段:“customers”(std::set 类型)和“albums”(类型std::set<Album>)。

std::set<Album> albums;
std::set<Customer> customers;

现在,当我尝试将数据保存到其中一组时 - 一切正常,但在“客户”类型中,我有第三组名为 orders (类型为 std::set ),当我尝试将数据保存到它时(在我离开保存数据的功能后)它消失了!

这是我将数据保存到其中的方法:

Customer foundCustomer = *Customer::findID(customers ,id);

Order newOrder = Order();
newOrder.ordNum = ordNum;
newOrder.isPaid = false;

foundCustomer.orders.insert(newOrder);

告诉我您是否需要我发布更多代码。

帮助将不胜感激!

4

1 回答 1

1
Customer foundCustomer = *Customer::findID(customers ,id);

此行制作客户的副本。如果要修改他设置的原始客户 int,则需要使用参考:

Customer& foundCustomer = *Customer::findID(customers ,id);

并确保这*Customer::findID(...)也会产生参考。

于 2013-06-28T13:55:20.393 回答