Вы можете использовать std::array
, чтобы обойти проблему.
#include <array>
using myType = std::array<uint8_t, 16>;
int main()
{
constexpr myType x0={1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6};
constexpr myType x1={11,12,13,14,15,16,17,18,19,10,11,12,13,14,15,16};
constexpr myType x2={21,22,23,24,25,26,27,28,29,20,21,22,23,24,25,26};
constexpr std::array<myType, 3> AllX = {x0,x1,x2};
}
В комментарии вы сказали:
Но я не могу использовать этот методтак как x0
и x1
и x2
и .. уже определены таким образом в коде, и я не могу изменить его.
В этом случае единственный вариант - скопировать элементы этих объектов в AllX
.Вы можете использовать std::copy
, чтобы упростить это.Единственная проблема в том, что вы не можете использовать constexpr AllX
.
std::array<myType, 3> AllX = {};
std::copy(begin(x0), end(x0), AllX[0].data());
std::copy(begin(x1), end(x1), AllX[1].data());
std::copy(begin(x2), end(x2), AllX[2].data());