Вы можете обернуть его в struct
, чтобы сделать его возвращаемым по значению:
struct Vec3
{
float x[3];
}
Vec3 array_func()
{
Vec3 x = { 1.f, 1.f, 1.f };
return x;
}
Я не думаю, что вы можете использовать синтаксис инициализатора массива непосредственно в операторе возврата. Конечно, вы могли бы представить конструктор (в конце концов, структуры - это просто классы со всеми открытыми членами):
struct Vec3
{
Vec3(a, b, c)
{
x[0] = a;
x[1] = b;
x[2] = c;
}
float x[3];
}
Vec3 array_func()
{
return Vec3(1.f, 1.f, 1.f);
}