Bedenken Sie den folgenden Code:
Code: Select all
struct A
{
static int x;
};
struct B
{
int x;
};
template
concept C = requires
{
T::x;
};
static_assert(C); // ok, as expected
static_assert(!C); // error, `C == true` but I want it to be false
Wie mache ich diese Kompilierung? D.h. Wie erstelle ich ein Konzept, das statische-Mitglieder zulässt, aber nicht-statische Mitglieder ablehnt?
Code: Select all
&& !requires(T t) {t.x;}Code: Select all
&& !requires(T t) {&T::x;}
Mobile version