我不知道如何在我的代码中解决此错误。
错误似乎在if (EnemigosMueve(e))
中。编译器说:error: void value not ignored as it ought be
。
这是Enemigos.c中的代码
void EnemigosMueve(Enemigos e)
{
while(e->sig!=NULL)
{
if (EnemigoMueve(e->sig->e))
{
Enemigos aux = e->sig;
e->sig = e->sig->sig;
EnemigoLibera(aux->e);
free(aux);
}
else e = e->sig;
}
}
以下是main中的代码:
if (EnemigosMueve(e)) {
EnemigosLibera(e);
if (rand()%FRECENEMIGOS==0) EnemigosInsertaNuevaEnemigo(e,EnemigoCrea(eImagen,WENEMIGO,HENEMIGO,rand()%(wPantalla-WENEMIGO),0,VXENEMIGO,VYENEMIGO));
}
如果有人需要更多信息,请告诉我,我会发布。
答案 0 :(得分:1)
问题是EnemigosMueve
没有返回值,因此if (EnemigosMueve(e))
是错误的,正如编译器告诉你的那样
error: void value not ignored as it ought to be
if (EnemigoMueve(e->sig->e))
^