If function uses constant length array it is tempting to use:
void f(int t)
t = ...;
as array size is merely for human-programmer, it is possible to use:
which perhaps is ok (but not nice).
But it is also possible to do
Which for sure is wrong.
Solution to ensure strict array size is:
void f(int (&t))
Now only three elements arrays are allowed.
BTW - above construct is frequently used for C-array handling in templates.