Ранее я задавал похожий вопрос, но с тех пор я изменил свой код.Теперь компилятор выдает мне другое предупреждение.Это пример того, как мой код выглядит сейчас:
void *a = NULL;
void *b = //something;
a = *(int *)((char *)b + 4);
Когда я пытаюсь скомпилировать, я получаю «предупреждение: присваивание делает указатель из целого числа без приведения».Что это значит, и что я должен сделать, чтобы это исправить?
Чтобы уточнить, я не хочу, чтобы 'a' указывал на адрес, который на 4 байта больше, чем 'b' (то есть a!= b + 4).В моей программе я знаю, что значение, хранящееся в ((char *) b + 4), само по себе является другим указателем, и я хочу сохранить этот указатель в «a».