Неформально говоря, array + 1
не существует как переменная (например, вы не можете установить для нее другое значение), поэтому вы не можете получить ее адрес. Более формально lvalue требуется; то есть что-то, что может быть установлено в значение.
Следовательно, &(array + 1)
выдает ошибку компиляции: в вашем случае есть несколько полезных советов.
Вы хотели просто array + 1
для адреса, следующего за array
в арифметике указателей? При оценке array + 1
, array
распадается до int*
типа.