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/