Можно ли создать объект типа неожиданного для std :: wead ?
Вот простой пример.#include
[[nodiscard]]
std::expected do_logic() {
return std::unexpected();
}
< /code>
Это не компилируется, по крайней мере, не с GCC-14. < /p>
error: no matching function for call to ‘std::unexpected::unexpected()’
< /code>
Я удивлен, что этот код не компилируется, потому что следующее выполняет компилирование: < /p>
#include
[[nodiscard]]
std::expected do_logic() {
return std::unexpected(-1);
}
Есть ли способ заставить его работать с ?
Предполагаемое использование
const auto result = do_logic();
if(result.has_value()) {
// success case
}
else {
// error case
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... -without-a
Мобильная версия