Следующий код не компилируется для меня в MSVC2005:
std::vector<CMenu> vec(10);
CMenu
- это объект меню MFC (например, контекстное меню). В ходе некоторых испытаний я узнал, что CMenu
не имеет открытого конструктора копирования.
Чтобы сделать то, что я хотел, мне нужно было использовать динамический массив.
CMenu* menus = new CMenu[10];
// ...
delete [] menus;
Конечно, теперь я потерял все преимущества использования контейнера STL.
Есть ли у меня другие варианты?