它只是我的编译器还是禁止在 std::vector 元素中使用 cons 引用。考虑以下结构:
struct Y
{
const int & x;
Y(const int & p_x):
x(p_x)
{
}
};
现在,当我尝试将此类对象推到向量上时:
std::vector<Y> yv;
int x = 5;
Y y(x);
yv.push_back(y);
我得到编译器错误:“错误:非静态引用成员 `const int&Y::x',不能使用默认赋值运算符”。复制 ctor 还不够吗?