Мой код должен нажимать элемент StackNode в стек. Однако, когда стек заполнен, я пытаюсь заставить функцию больше не нажимать и возвращать нуль, но она не вернет нуль!Функция не может вернуть значение null в c
Stack push(Stack stk,int data)
{
struct StackNode *top = stk.top;
struct StackNode *node = malloc(sizeof(struct StackNode));
if(node == NULL)
{
printf("Stack is full\n");
return NULL;
}
node->data = data;
node->nextNode = top;
stk.top = node;
stk.count++;
return stk;
}
Здесь ошибка я получаю: error: returning 'void *' from a function with incompatible result type 'Stack' (aka 'struct Stack') return NULL;
Я не уверен, что это значит. Как это исправить? Что такое NULL-эквивалент стека?
Что неясно в сообщении об ошибке? Является ли 'NULL' значением типа' Stack'? –
Не знаю, какой нулевой эквивалент для стека – ashadeka
Нет эквивалента. –