是否可以从函数返回固定大小的静态数组?这个的语法是什么。我既不要求std::array
,也不要求T*
,我特别要求的是T arr[N]
形式的数组。例如,可以通过以下语法将这样的数组作为函数中的参数:
template<typename T, auto N>
void func(T (&arr)[N])
{
}
答案 0 :(得分:2)
函数无法按值返回数组。您已经观察到函数可以通过引用将数组作为参数 ;类似地,函数可以通过引用返回数组 。为此,使用尾随返回类型语法最简单:
auto func() -> T (&)[N];
但是数组既不能传递也不能按值返回。