Это только мой компилятор или запрещено использовать ссылки const в элементах std::vector. Рассмотрим следующую структуру:
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', нельзя использовать оператор присваивания по умолчанию ". Разве copy ctor не достаточно?