В программе на C, которую я пишу, есть функция
void *dereference_physical_page(unsigned int ppn);
который я звоню с unsigned int* pde = ((unsigned int*)dereference_physical_page(context >> 12))[vaddr >> 22];
К сожалению, компилятор выдает мне это предупреждение, независимо от того, что я пытаюсь, и программа не должна иметь предупреждений для компиляции в соответствии со спецификациями для этого назначения.
edit (я думал, что написал это): предупреждение «инициализация делает указатель из целого числа без приведения». Если я удаляю звездочку без знака int * pde, это работает; Тем не менее, я хочу сделать указатель pde.
Я также делаю указатель pde, потому что мне нужно, чтобы его область действия выходила за рамки функции, в которой он находится.
Есть какие-нибудь подсказки?