Код: Выделить всё
std::expected doN(int n)
{
switch (n)
{
case 1: return do1();
case 2: return do2();
// ...
}
}
std::expected do1()
{
if (error)
{
return std::unexpected({/* ... */});
}
return 23;
}
Код: Выделить всё
std::expected doN(int n)
{
switch (n)
{
case 1:
auto value = do1();
if (value.has_value()) {
return value.value();
}
return std::unexpected(value.error());
// ...
}
}
Итак, мой вопрос: как я могу это упростить? Есть ли способ вернуть результат вызова функции?
Подробнее здесь: https://stackoverflow.com/questions/794 ... tdexpected
Мобильная версия