Создание конструктора для массива c
C-массивы не могут быть переданы копией, но они могут быть переданы по ссылке. Есть два способа сделать это.
Первый способ:
using four_floats = float[4];
Wektor(four_floats const& arr) {
x = arr[0];
y = arr[1];
z = arr[2];
w = arr[3];
}
Второй способ. Этот способ использует злой, мерзкий синтаксис, который действительно безобразен.
Wektor(float const (&arr)[4]) {
x = arr[0];
y = arr[1];
z = arr[2];
w = arr[3];
}
Создание конструктора из std::array
Этот довольно простой.
Wector(std::array<float, 4> const& arr) {
x = arr[0];
y = arr[1];
z = arr[2];
w = arr[3];
}