Я пытаюсь присвоить значение, на которое указывает void *
в массиве void *
.Вот что у меня есть:
23 void queue_enqueue(void *q, void *item) {
24 int len = 0 ;
25
26 len = sizeof(q) ;
27 q[len-1] =
28 item ;
29
30 return ;
31
32 }
С этой ошибкой компилятора:
myqueue.c:27: warning: dereferencing ‘void *’ pointer
myqueue.c:28: error: invalid use of void expression
Я искал ответ около часа, но пока не нашелвидел реализацию, аналогичную той, что мне дали здесь.Если вам интересно, да, это домашнее задание и прототип был предоставлен инструктором.
Поскольку они передаются как void * Я не смог использовать оператор gcc typeof
.
Я в порядке с предупреждением.Я знаю, что просто gcc говорит мне, что «будьте осторожны, мы не собираемся проверять это для вас», но я не могу избавиться от ошибки в строке 28.
Спасибо за вашу помощь заранее,