class Base
{
public:
int i;
Base(int j):i(j){}
};
int main()
{
Base B(10);
Base C[10](B);//throws error saying bad array initializer
}
Когда я попытался скомпилировать этот код, вышеупомянутая ошибка была выбрана.Копировальный конструктор по массиву объектов
Почему C++ не компилирует этот код?
Почему каждый объект не может назвать конструктор копирования по умолчанию и использовать значение члена B?
Я что-то пропустил в стандарте C++?
Вы можете сделать это с помощью вектора: 'станд :: вектор у (10, база (10));' –
Borgleader
Вы можете использовать список инициализации, но это будет не нужно поведение, которое вы хотите – Rerito
@leemes Упс, да, я это имел в виду. ** Исправлено ** – Borgleader