In addition to what the other guys said:
Contrary to popular belief, arrays are actually not pointers. They just share a lot of similarities when working with them and have a couple of implicit conversions to pointers which is why it's easy to work with them as if they are pointers.
Arrays are a standalone feature of (C and) C++. It doesn't behave exactly like a pointer would.
For example, it's possible to allocate array objects on the stack, which is not possible when you allocate objects using new (which returns a pointer) and pointers.
And the example that you showed is another one: You can't use arrays as if they are pointers. But you can use pointers to point to a continuous piece of memory (array).