我试图在另一个函数中调用一个函数,但我做错了什么,我不知道是什么。这个错误是在我调用函数verifica_sub的地方发现的。
void subtracao(Lista * lista_1, Lista * lista_2)
{
No_lista *aux1, *aux2, *aux_res_sub;
int aux_sub = 0, empresta = 0;
inicLista(&aux_res_sub);
aux1 = *lista_1;
aux2 = *lista_2;
while (aux1 != NULL)
{
aux_sub = aux1->info - aux2->info;
insereFim(&aux_res_sub, aux_sub);
aux1 = aux1->prox;
aux2 = aux2->prox;
}
aux_res_sub = verifica_sub(&aux_res_sub);
exibe(&aux_res_sub);
}
void verifica_sub(Lista * aux_res_sub)
{
No_lista *aux;
aux = *aux_res_sub;
while (aux != NULL)
{
if (aux->prox->info < 0)
{
aux->info = aux->info - 1;
aux->prox->info = aux->prox->info + 10;
}
aux = aux->prox;
}
您没有包含足够的信息来给出一个好的问题答案。
然而,我确实注意到,在有问题的行中,您正试图将void函数的结果分配给变量。为此,您需要修改verifica_b以返回一个值。
verifica_sub()
在没有原型化的情况下使用,因此编译器假设它返回int
。由于它的结果应该被分配给一个指针变量,编译器会发出您观察到的警告。
然而,由于verifica_sub()
被定义为返回"nothing",即void
,因此将其分配给某个东西是没有意义的,而且无论如何都不会起作用。