Ниже приведен простой фрагмент кода, который компилируется с использованием:
g++-9 -std=c++2a -fconcepts
Это попытка определить концепцию, которая требует наличия функции. Я ожидаю, что на выходе будет "да", но это не так ... Есть идеи, почему? Спасибо.
#include <iostream>
template <typename T>
concept bool HasFunc1 =
requires(T) {
{ T::func1() } -> int;
};
struct Test
{
int func1()
{
return 5;
}
};
int main()
{
if constexpr (HasFunc1<Test>)
std::cout << "yes\n";
}