Estaba tratando de averiguar si es posible usar sfinae para probar espacio de nombres existencia del miembro. Google guarda silencio al respecto. Probé el siguiente código, pero falla.use sfinae para probar la existencia de miembros del espacio de nombres
namespace xyz{
struct abc{};
}
struct abc{};
struct test_xyz{
typedef char yes;
typedef struct{ char a[2]; } no;
template <class C> static yes test(xyz::C = xyz::C()); //lets assume it has default constructor
template <class C> static no test(...);
const bool has_abc = sizeof(test_xyz::test<abc>()) == sizeof(yes);
};
¿Alguna idea de por qué?
Saludos,