*** working on gcc version 3.3.6 A swap operation between two integers doesn't works for class members. i ^= j ^= i ^= j; after the operation above, "i" will value 0 (zero), if i and j are class members.
*** This bug has been marked as a duplicate of 11751 ***