【发布时间】:2012-06-23 04:23:34
【问题描述】:
这段代码给了我这个错误,我不明白。我什至无法运行程序。你能帮我解决这个错误吗?如果你对代码中的任何内容不理解,请说出来。
error C2040: 'CancelarPedido' : 'ppedido (ppedido)' 与 'int ()' 的间接级别不同
printf("\nIntroduza opcao:");
scanf("%d",&opc);
switch(opc){
case 1: lista = NovoPedido(lista);break;
case 2: lista = CancelarPedido(lista);break;
case 3: printf("Falta implementar a funcao.");break;
case 4: printf("Falta implementar a funcao.");break;
}
}while(opc!=5);
return lista;
}
ppedido CancelarPedido(ppedido lista)
{
ppedido actual, anterior = NULL;
char id[5];
actual = lista;
if(lista == NULL)
printf("\nNao ha pedidos na fila de espera...");
else
{
printf("\nIntroduza o ID do pedido que pretende cancelar: ");
scanf("%s", id);
while(actual != NULL && ((strcmp(actual->id, id)) != 0)){
anterior = actual;
actual = actual->prox;
}
if(actual == NULL){
printf("\nERRO - Nao existe nenhum pedido com o ID introduzido.");
return lista;
}
if(anterior == NULL){
lista = actual->prox;
printf("\nPedido cancelado com sucesso...");
}
else{
anterior->prox = actual->prox;
printf("\nPedido cancelado com sucesso...");
}
free(actual);
return lista;
}
}
【问题讨论】:
-
pedido 是一个列表类型,如果这就是你的意思的话。
-
声明返回的第一段代码是什么数据类型?
-
typedef struct pedido pedido, *pedido;结构 pedido{ char id[5];优先; int 台面,n_pratos;结构普拉托*普拉托[TAM]; pedido prox; };结构 prato{ char id[5]; };
-
如果没有SSCCE,很难正确回答。
-
我回答没有任何困难。
标签: c