мне вызвать конструктор у объекта по индексу в этом массиве?
У всех элементов массива уже должен был быть вызван конструктор при конструировании массива
ну я сделал конструктор по дефолту, но мне нужен, в котором параметры задаю я
Можете вызвать конструктор перемещения
Только явно вызвать конструктор всех элементов при инициализации массива или пересоздать элемент уже после
Да, это очевидный вариант, но там есть динамический параметр, который увеличивается в соответствии с перемещением по массиву
Добавь метод инициализации и вызови его с нужными параметрами
Блин, здесь нельзя фотографии вставлять…
pastebin.com или если кода немного просто вставить
https://pastebin.com/SGYeTFMK вроде бы понятно изложил что имею, и что хочу получить )
Понимаю, что вопрос про другое, но зачем снова звать конструктор, если у вас уже есть функции SetX, SetY и SetSize?
согласен что это нелогично, но таково требование преподавателя )). Впринципе можно обойтись и сеттерами, но для себя хочу через конструктор
Имхо здесь самое адекватное - это пересоздать объект points[i] = Point(x, y, size); Или с помощью std::generate или похожего. Остальные варианты слишком сложные для такого простого кода
struct Point { std::size_t s; }; template < std::size_t... indices > constexpr auto makePoints ( std::index_sequence<indices...> ) -> std::array<Point, sizeof...(indices)> { return {Point{indices}...}; } /* ... */ constexpr auto arr{makePoints(std::make_index_sequence<10>{})}; Что-то подобное, полагаю.
Препод будет в восторге)
Обсуждают сегодня