In the meantime I have found out that the error message disappears also if I omit the (anyway redundant) address cast in line 56.
That's sufficient to solve my problem, although I have no idea what this has to do with the error message, but I have given up hope to understand all secrets of the C++ language. E.g., another strange effect is that in g++ 4.0.2 I could cast a void* to an enumeration type. G++ 4.1.0 doesn't allow this, but still allows to perform the cast in two steps: from void* to unsigned and then to the enumeration type. Klaus. _______________________________________________ help-gplusplus mailing list help-gplusplus@gnu.org http://lists.gnu.org/mailman/listinfo/help-gplusplus