* Frederic Mayot:
Hi, Can someone give me an explanation why the following code produces a bug. I think it's related to the compiler and that the first line is not OK. I have no pb with gcc 3.4 but the bug appeared with gcc 4.1.1 A* p = ...; int l; (char*&)p += l; The right way is p = reinterpret_cast<A*>(reinterpret_cast<char*>(p) + l);
reinterpret_cast, or a C-style cast that resolves to reinterpret_cast, is a sure way to introduce a bug.
Remove the casts (you'll probably have to fix other code) and chances are you're removing the bug too.
Hope this helps. -- A: Because it messes up the order in which people normally read text. Q: Why is it such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? _______________________________________________ help-gplusplus mailing list help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus