Рассмотрим следующий код:
Код: Выделить всё
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
Как мне скомпилировать этот код? То есть, как я могу создать концепцию, которая разрешает статические члены, но отклоняет нестатические члены?
Код: Выделить всё
&& !requires(T t) {t.x;}Код: Выделить всё
&& !requires(T t) {&T::x;}Подробнее здесь: https://stackoverflow.com/questions/797 ... -is-static
Мобильная версия