Verwenden Sie SFINAE, um den Namespace -Mitglieder zu testen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Verwenden Sie SFINAE, um den Namespace -Mitglieder zu testen

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>

Top