Я столкнулся с следующей подписью
double(&rotate_vec(double(&val)[4]))[4];
В комментариях он "утверждает" принимает и возвращает массив из четырех элементов. Моя первая реакция заключалась в том, что это даже не выглядит стандартным С++, но this компилирует:
double(&rotate_vec(double(&val)[4]))[4]
{
// ...
return val;
}
int main()
{
double ar[4] = { 1, 2, 3, 5 };
rotate_vec(ar);
return 0;
}
- Как это С++? Как бы вы это прочитали?
- Мы не можем вернуть массив из функции, просто указатели или можем ли мы?