Здравствуйте, Аноним, Вы писали:
А>Почему в C++ запрещено использование любых конструкторов, кроме конструктора по умолчанию, в случае создания массива объектов?
Почему же запрещено?
struct foo
{
foo(const char* = "test", int = 123) {} // конструктор, используемый в роли конструктора по умолчанию
foo(int) {} // конструктор для приведения типа
foo(int,int,int) {}
};
foo a[10] = { foo(), 123, "qqq", foo(1,2,3), /* остальные элементы будут сконструированы по умолчанию - foo("test",123) */ };
foo *b = new foo[10]; // все элементы будут сконструированы по умолчанию - foo("test",123)