Рассмотрим следующий код:
Код: Выделить всё
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
Мобильная версия