Я получаю сообщение об ошибке, описанное в заголовке, когда пытаюсь запустить свой код с этой строкой:
(int**)newPtr = *(list + index);
Кто-нибудь знает, что не так?
Это мои объявления
int index; int* newPtr; static int* list;
В коде есть пара ошибок:
newPtr объявлен как указатель на целое число, но вы приводите его к указателю на указатель нацелое число, которое является неправильным.
список + индекс также является указателем на целое число * (список + индекс) является целым числом, на которое указывает (список + индекс).Но вы пытаетесь присвоить это newPtr (который также приводится к неверному типу, как указано выше).
Возможно, вы намеревались сделать это:
newPtr = list+index;
иполучить указатель на целое число, расположенный в списке + индексное место.
* (список + индекс) возвращает int. Если вы хотите указатель, просто используйте
newPtr = list + index;
int ** означает указатель на указатель на int, который, похоже, не имеет никакого значения.