[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

RE: condicion?sent1:sent2;



Miguel.. tu problema no viene del compilador,
el error que te pone es norma..
la expresion (exp)?exp1:exp2 es una facilidad para regresa exp1 o exp2 según
exp,
pero se trata de regresar valores asignables, no de ejecutar un comando o
otro de acuerdo a exp.
por ejemplo, podrias quere hacer lo siguiente :
return(buf[buf_ndx]==':'?-2:(command[ent_ndx++]=buf[buf_ndx++]));
si es que quieres hacer un return en ambos casos, y haciendo ademas la
asignación de exp2.
(pero el return de esta asignación.... no creo que sea lo que quieres).
la mejor forma de hacer lo que quieres es probablemente :
if(buf[buf_ndx]==':')
    return(-2);
else
    command[ent_ndx++]=buf[buf_ndx++];
ademas... es bastante mas claro....

Saludos !
Olivier.

-----Mensaje original-----
De: Miguel Cárdenas <reno en geocities com>
Para: Ulises Cervi~no <kermit en tower com ar>
CC: linux-ayuda en nuclecu unam mx <linux-ayuda en nuclecu unam mx>;
lugar-lst en linux org ar <lugar-lst en linux org ar>
Fecha: Jueves, 23 de Septiembre de 1999 02:06 a.m.
Asunto: Re: condicion?sent1:sent2;


>> >    buf[buf_ndx]====':' ? return -2 : command[ent_ndx++]=buf[buf_ndx++];
>> Si la linea que mandaste es TAL CUAL esta en el fuente, fijate que para
>> comparar estas usando 4 = y no 2 ... (-; Es por eso que te tira un parse
>> error.
>
>Eso fue error al copiar/pegar el segmento de codigo... en el fuente viene
>con solo dos... no se porque, si le cambio el return por otra sentencia si
>funciona, pero con el return me marca el parse error antes del return :(
>
>Saludos!
>



[Hilos de Discusión] [Fecha] [Tema] [Autor]