我有以下结构:
struct Transaction {
Transaction(Book& bb, Patron& pp, Date dd)
: b(bb), p(pp), d(dd) { }
Book& b;
Patron& p
Date d;
};
当我尝试放置 Transaction
类型的对象时进入vector<Transaction>v_t
与 push_back
,它不会起作用。一屏的错误就导致失败。
是因为我有引用作为我的对象的成员吗?
最佳答案
您需要该类型的赋值和复制运算符,因为它包含引用。 STL 容器对象必须是可复制和可分配的(不幸的是,这对于您的引用来说是不可能的)。
检查此线程:
它讨论了问题和一些替代解决方案,尽管它基本上说容器类型中没有引用成员。
关于c++ - 包含引用的对象 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7714024/