I have an array int arr[5] that is passed to a function fillarr(int arr[]):
int arr[5]
fillarr(int arr[])
int fillarr(int arr[]) { for(...); return arr;
template using ARR_REF = T (&)[N]; template ARR_REF ArraySizeHelper(ARR_REF arr); #define arraysize(arr) sizeof(ArraySizeHelper(arr))