
John Dlugosz wrote:
I tried something like this: First, the general form in one header known by everything:
template <typename T1, typename T2> dim_s foo (const T1& left, const T2& right);
Then, in a header that gets more concrete, provide its own form that is meant to be used when objects of those types are involved:
template<typename T1, typename T2> typename enable_if_c< is_base_of<genericbase,T1>::value && is_base_of<genericbase,T2>::value, dim_s>::type foo (const T1& left, const T2& right);
Isn't that causing ODR violation ? the enable_if'ed foo should also present in the header IMHO -- ___________________________________________ Joel Falcou - Assistant Professor PARALL Team - LRI - Universite Paris Sud XI Tel : (+33)1 69 15 66 35