Я попробовал этот небольшой кусок кода, который я модифицированный из Концепции Технической спецификации:C++ понятия: недопустимая ссылка на функцию концепции
template < typename T >
concept bool C_Object() {
return requires {
T();
};
}
template < typename Object >
requires C_Object<Object>
class Foo {
public:
Object test;
};
struct Component {
int data;
Component() : data(0) {}
};
int main() {
Foo<Component> test;
return 0;
}
Но я получаю эту ошибку:
test.cpp:10:12: error: invalid reference to function concept ‘template<class T> concept bool C_Object()’
requires C_Object<Object>
^~~~~~~~~~~~~~~~
test.cpp: In function ‘int main()’:
test.cpp:26:16: error: template constraint failure
Foo<Component> test;
^
test.cpp:26:16: note: constraints not satisfied
test.cpp:26:16: note: ill-formed constraint
Первый раз я попробуйте новую версию концепций C++, где мне не хватает?
Благодаря
великий день
Ваш последний код был тем, что я искал, большое спасибо :) –