by Anonymous » 17 Aug 2025, 18:54
Ich habe versucht herauszufinden, ob es möglich ist, SFINAE zu verwenden, um Namespace zu testen. Ich habe den folgenden Code ausprobiert, aber er schlägt fehl. < /P>
namespace xyz{
struct abc{};
}
struct abc{};
struct test_xyz{
typedef char yes;
typedef struct{ char a[2]; } no;
template static yes test(xyz::C = xyz::C()); //lets assume it has default constructor
template static no test(...);
const bool has_abc = sizeof(test_xyz::test()) == sizeof(yes);
};
< /code>
Irgendeine Idee, warum? < /p>
Grüße, < /p>
Ich habe versucht herauszufinden, ob es möglich ist, SFINAE zu verwenden, um Namespace zu testen. Ich habe den folgenden Code ausprobiert, aber er schlägt fehl. < /P>
namespace xyz{
struct abc{};
}
struct abc{};
struct test_xyz{
typedef char yes;
typedef struct{ char a[2]; } no;
template static yes test(xyz::C = xyz::C()); //lets assume it has default constructor
template static no test(...);
const bool has_abc = sizeof(test_xyz::test()) == sizeof(yes);
};
< /code>
Irgendeine Idee, warum? < /p>
Grüße, < /p>