Невозможно получить минимальный пример концепций C++, необходимых для работы с GCC.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Невозможно получить минимальный пример концепций C++, необходимых для работы с GCC.

Сообщение Anonymous »

Я пытаюсь изучить концепции C++, но у меня возникли проблемы с минимальным примером использования require для проверки наличия у типа определенного члена:

Код: Выделить всё

//Test class
class Foo {
void test();
};

//Concept to validate existence of "test()" method.
template  concept FooType = requires (X x) {
x.test();
};

//Apply the concept to a template parameter
template  requires FooType class Bar {
};

//instantiate
Bar a;
GCC с флагом std=c++23 выдает следующие ошибки:

Код: Выделить всё

error: template constraint failure for ‘template  requires  FooType class Bar’  24 | Bar a;
required for the satisfaction of ‘FooType’ [with Y = Foo] ... in requirements with ‘X x’ [with X = Foo]
note: the required expression ‘x.test()’ is invalid
Чего мне не хватает?


Подробнее здесь: https://stackoverflow.com/questions/798 ... k-with-gcc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»