When I read litb answer to this question, I learned that passing an array by reference allows us to obtain its size. I just played little bit with code, and tried to pass a
I think it is due to the C++ Standard 4.3:
An lvalue of function type T can be converted to an rvalue of type “pointer to T.” The result is a pointer to the function.