schmidt@crimee.ics.uci.edu (Doug Schmidt) (10/05/88)
Hi, Is the following short code legal Ansi-C? gcc -ansi accepts it, gcc -pedantic rejects it, and the Sun 4.0 cc compiler also rejects it. thanks, Doug ---------------------------------------- typedef int ITEM_TYPE; typedef struct Tree Tree; struct Tree { ITEM_TYPE Item; char Tag; Tree *Left; Tree *Right; } *Root; int Test ( P, Item ) Tree *P; ITEM_TYPE Item; { (( P->Item > Item ) ? P->Left : P->Right ) = (Tree *) malloc(sizeof(Tree)); } ----------------------------------------
drh@notecnirp.Princeton.EDU (Dave Hanson) (10/05/88)
In article <765@paris.ics.uci.edu> Doug Schmidt <schmidt@crimee.ics.uci.edu> writes: Hi, Is the following short code legal Ansi-C? gcc -ansi accepts it, gcc -pedantic rejects it, and the Sun 4.0 cc compiler also rejects it. ... { (( P->Item > Item ) ? P->Left : P->Right ) = (Tree *) malloc(sizeof(Tree)); } no. conditional expressions are not l-values.