[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: casting from unsigned short int to unsigned int (on gcc 3.4.4, compi
Re: casting from unsigned short int to unsigned int (on gcc 3.4.4, compiles fine with 2.95.1)
8 Mar 2006 00:26:36 -0800
Thanks Paul for your prompt reply and the explaination of the problem.
Yes, actually the problem got solved by changing the const'ness of the
last param. Still thinking why didn't gcc 2.95 complained for the
Paul Pluzhnikov wrote:
> "whizz_kid" <firstname.lastname@example.org> writes:
> > Can anyone please tell me whats happenning here....??
> The result of a cast is not an l-value, and can't be bound to
> non-const reference.
> short s;
> int &r = (int)s;
> r = 0xFFFFFFFF;
> If the compiler allowed binding 'r' to 's' (i.e. if &r == &s),
> then the assignment to 'r' would have resulted in stack corruption
> (assuming sizeof(short) < sizeof(int)).
> If Class1::function1() doesn't modify 'ret' parameter, make it
> 'const TDF_U32 &'.
> If it does, you *must* supply a modifiable value of type TDF_U32;
> you can't use '(TDF_U32)obj.retsend' any more then you can use
> '(TDF_U32)42' ...
> In order to understand recursion you must first understand recursion.
> Remove /-nsp/ for email.