¿Es solo mi compilador o está prohibido usar contras referencias en los elementos de std :: vector. Considere la siguiente estructura:Referencias de Const en std :: elementos vectoriales
struct Y
{
const int & x;
Y(const int & p_x):
x(p_x)
{
}
};
Ahora, cuando intento para empujar dicho objeto en vector:
std::vector<Y> yv;
int x = 5;
Y y(x);
yv.push_back(y);
me sale error del compilador: "error: miembro de referencia no estático` const int & Y :: x ', no puede usar el operador de asignación predeterminado ". ¿No debería ser suficiente copiar el ctor?
+1 para citar el estándar :) – Nobody