我试图在其他地方调用一个功能,但我做错了什么而且我不知道是什么。在我调用函数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;
}
答案 0 :(得分:0)
您还没有提供足够的信息来回答您的问题。
但我确实注意到,在您所涉及的行上,您试图将void函数的结果赋给变量。为此,您需要修改verifica_sub以返回值。
答案 1 :(得分:0)
verifica_sub()
未经原型化使用,因此编译器假定它返回int
。由于它的结果应该分配给指针变量,编译器会发出你观察到的警告。
然而,由于verifica_sub()
被定义为返回&#34;没有&#34;,即void
,将其指定为某些内容并不合理,并且无法正常工作反正。