Originally Posted by
laserlight
Are you sure? As far as I can recall, the return value of a function is not an lvalue (as opposed to say, not a modifiable lvalue). In C++ reference return types are possible, so my statement would not apply.
An array is not a pointer; an array is converted to a pointer to its first element in most contexts, including the context from post #1. My statements were with respect to "the address of the array" and "the address of its first element", not with respect to the array and the array's first element, so you have a strawman argument.