Code: Select all
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;
}
Code: Select all
std::expected doN(int n)
{
switch (n)
{
case 1:
auto value = do1();
if (value.has_value()) {
return value.value();
}
return std::unexpected(value.error());
// ...
}
}
Meine Frage lautet also: Wie kann ich das vereinfachen? Gibt es eine Möglichkeit, das Funktionsaufrufergebnis zurückzugeben?