Код: Выделить всё
template
consteval auto foo(std::string_view sv)
{
if constexpr (i != vs::field_count()){
constexpr auto name = vs::get_name();
if constexpr (sv == name) //'constexpr' here not allowed, but needed for type deduction
return vs::get_pointer();
else
return foo(sv);
} else
return (int T::*)nullptr;
}
< /code>
all vs :: < /code> Функции contexpr.
fooЯ понимаю, что я не могу поместить Contexpr ключевое слово перед условием (SV == name) , потому что SV не может быть выражением времени компиляции (хотя я установил константу функции . contexpr не позволяет думать, что компилятор тип возврата одинаков. чем (int t ::*) nullptr , поэтому мне нужно вывернуть тип возврата.
Подробнее здесь: https://stackoverflow.com/questions/796 ... h-argument
Мобильная версия