Вот тут
Ошибка error C2440: инициализация: невозможно преобразовать "void *" в "char *"
//char *mem = malloc(strlen(str) + 1);
static inline char * strdup(const char *str)
{
char *mem = malloc(strlen(str) + 1);
strcpy(mem, str);
return mem;
}
А вот тут
Ошибка error C2440: инициализация: невозможно преобразовать "void *" в "node_t *"
//node_t *node = malloc(sizeof(node_t));
void push(stack_t **top, const char *str)
{
node_t *node = malloc(sizeof(node_t));
node->str = strdup(str);
node->next = NULL;
if (!empty(top))
{
node->next = *top;
}
*top = node;
}