today i've run into this: if i cast a double value to an unsigned int
using the C style cast when passing it to printf, it's fine. however, if
i use the ctor style cast, i get a compile error. in theory, these two
should do the same: create a temporary unsigned int, and assign the
double to it after conversion, just the syntax is different. made a
little test, see attachment. plain int's are ok, but when qualified with
signed/unsigned the error occurs.

Hi,
I've run into this before, not sure if it's a bug, but what I do is use typedefs to work-around. (gcc has rejected your example on your error-marked lines for a long time)

Try the following for kicks:

typedef signed int      sint;
typedef unsigned int    uint;
typedef const int       cint;
typedef const sint      csint;
typedef const uint      cuint;

and replace them where you use ctor style initializations.

David Fang
Computer Systems Laboratory
Electrical & Computer Engineering
Cornell University
http://www.csl.cornell.edu/~fang/
        -- (2400 baud? Netscape 3.0?? lynx??? No problem!)

Reply via email to