vector<some_struct&> array
неверно, точка.
Тип (или типы), с которым вы создаете экземпляр контейнера стандартной библиотеки, должны быть объектными типами. Тип ссылки (например, some_struct&
) не является типом объекта.
По определению, «контейнеры - это объекты, которые хранят другие объекты» (из §23.1 / 1 в C ++ 03 и C ++ 0x). Ссылки не являются объектами.
Поведение не определено, если вы создаете экземпляр контейнера с типом, который не соответствует требованиям, предъявляемым к контейнеру: ваш код может компилироваться или не компилироваться, и если он компилируется, кто знает, каков будет результат; все может случиться ..