First of many out of order answers:

--- maxreason <[EMAIL PROTECTED]> wrote:

> 3:  More code that used to compile/work (and does on windoze):
> 
> const u08  MATH_AXIS_SHIFT_1  = 0x04;
> const u08  MATH_AXIS_SHIFT_2  = 0x08;
> const u08  MATH_AXIS_X = 0x01;
> const u08  MATH_AXIS_Y = 0x02;
> const u08  MATH_AXIS_Z = 0x04;
> const u08  MATH_AXIS_A = 0x08;
> //
> // the above lines compile okay, but the following lines
> // generate errors (these are 7 of about 40 lines)
> //
> const u16 MATH_AXIS_0X   = (MATH_AXIS_X << MATH_AXIS_SHIFT_1);
> const u16 MATH_AXIS_0Y   = (MATH_AXIS_Y << MATH_AXIS_SHIFT_1);
> const u16 MATH_AXIS_0Z   = (MATH_AXIS_Z << MATH_AXIS_SHIFT_1);
> const u16 MATH_AXIS_00X  = (MATH_AXIS_X << MATH_AXIS_SHIFT_2);
> const u16 MATH_AXIS_XY   = (MATH_AXIS_X | (MATH_AXIS_Y <<
> MATH_AXIS_SHIFT_1));
> const u16 MATH_AXIS_XYZ = (MATH_AXIS_X | (MATH_AXIS_Y << 
> MATH_AXIS_SHIFT_1)
> | (MATH_AXIS_Z << MATH_AXIS_SHIFT_2));
> //
> // errors say: "initializer element is not constant".  I disagree!!!
> //
> // the "u08" is just a typedef for "unsigned char/byte"
> // the "u16" is just a typedef for "unsigned short"

  A shift result is an int. So a shift result must be cast to fit inside an
unsigned short.



      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/

Reply via email to