Я сделал стек ADT, используя указатели void. вот основные и queueFront функции-
bool queueFront(QUEUE *queue, void **itemPtr){
if(queue->count == 0)
return false;
*itemPtr = queue->front->dataPtr;
return true;
}
int main(){
QUEUE *queue = createQueue();
int *x = new int(5);
enqueue(queue,x);
int *y =new int(10);
enqueue(queue,y);
int *getPtr{nullptr};
queueFront(queue, (void *)&getPtr);
std::cout << *getPtr << std::endl;
}
В книге, которую я сейчас использую, говорится, что при вызове queueFront используется «(void *) & getPtr», но компилятор выдает ошибку «неправильный вывод из void * в void **»}. Я знаю, что использование (void **) работает, но я хочу привести int * к void *, а затем использовать его адрес.