Simon Odou simon@lrde.epita.fr wrote:
{ E& exact() { +# if defined __GNUC__ && __GNUC__ >= 3
return static_cast<E&>(*this);
+# else return *(E*)((char*)this - exact_offset); +# endif } const E& exact() const { +# if defined __GNUC__ && __GNUC__ >= 3
return static_cast<const E&>(*this);
+# else return *(const E*)((const char*)this - exact_offset); +# endif }
Vous n'avez pas déjà un header spécifique qui factorise les fonctionnalités de gcc par version (du genre, la disponibilité de __attribute__ etc) ? C'est le genre de trucs qui mériteraient d'y être. Ça prends vite le chemin de la redondance sinon.