У меня есть класс с массивом облачных указателей на объекты, которые НЕ имеют конструктор по умолчанию.Правильный способ инициализации массива boost :: scoped_ptr?
Единственный способ я нашел, чтобы «инициализирует» их использует swap()
так:
class Bar {
Bar(char * message) {};
}
class Foo
{
boost::scoped_ptr<Bar> arr[2];
Foo()
{
arr[0].swap(boost::scoped_ptr<Bar>(new Bar("ABC")));
arr[1].swap(boost::scoped_ptr<Bar>(new Bar("DEF")));
};
}
Это чувствует себя немного многословным и неуклюжим. Я пропустил более умный способ сделать это?
Как и ожидалось, я пропустил очевидный путь. Благодаря! – Roddy
Спасибо! Не могу поверить, что я не обратил на это внимания. – Vortico