У меня есть класс с массивом указателей на объекты для объектов, которые НЕ имеют конструктора по умолчанию.
Единственный способ, которым я нашел, чтобы "инициализировать" их, это использовать 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") ));
};
}
Это кажется немного многословным и неуклюжим.Я пропустил более умный способ сделать это?