Dear Masaharu,
> x = (int i=1999); // syntax error
yes, you are right, but as usual C++ is very eclectic.
See:
if (int i=1999) printf("Legal in C++ & CINT\n");
But it is only remark. I do not ask to fix anything.
Victor
Masaharu Goto wrote:
>
> Dear Victor,
>
> Thank you for your comment.
>
> 'int i=1999' is a declaration. It does not have value to return.
> On the other hand 'i=1999' is an expression which has value. To make
> things clear, consider following expressions.
>
> int x, j;
> x = (int i=1999); // syntax error
> x = (j = 1999); // fine
>
> In this sense, cint's behavior is consistent with C++ language.
>
> I think keeping current implementation is a better solution. If
> we force an output for 'int i=1999' it may create inconsistency
> regarding C++ language processing.
>
> Thank you
> Masaharu Goto
>
> >Dear Masaharu,
> >as I understand George meant the following:
> >
> >root.exe [0] int i = 1999 // no print here
> >root.exe [1] i = 1999 // but we have here
> >(int)1999
> >
> >Of course it is not very important. If to fix it needs less 10 minutes,
> >it would be good to do, if more no problem to leave it as it is.
> >
> >Victor
--
Victor M. Perevoztchikov perev@bnl.gov perev@vxcern.cern.ch
Brookhaven National Laboratory MS 510A PO Box 5000 Upton NY 11973-5000
tel office : 516-344-7894; fax 516-344-4206; home 516-345-2690
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:40 MET