Компилирую ceph, на строке
using enum fifo::journal_entry::Op;
Получаю:
error: ‘using enum’ only available with ‘-std=c++20’ or ‘-std=gnu++20’
Можно ли как-то преобразовать этот using enum к стандарту с++17?
Если выставляю строку в виде (я не программист):
long unsigned int fifo::journal_entry::Op;
то получаю:
/builddir/build/BUILD/ceph-17.2.5/src/rgw/cls_fifo_legacy.cc:619:48: error: qualified-id in declaration before ';' token
619 | long unsigned int fifo::journal_entry::Op;
| ^
/builddir/build/BUILD/ceph-17.2.5/src/rgw/cls_fifo_legacy.cc:620:10: error: could not convert 'rgw::cls::fifo::FIFO::create' from 'int(const DoutPrefixProvider*, librados::v14_2_0::IoCtx, std::string, std::unique_ptr<rgw::cls::fifo::FIFO>*, optional_yield, std::optional<rados::cls::fifo::objv>, std::optional<std::basic_string_view<char> >, bool, uint64_t, uint64_t)' {aka 'int(const DoutPrefixProvider*, librados::v14_2_0::IoCtx, std::basic_string<char>, std::unique_ptr<rgw::cls::fifo::FIFO>*, optional_yield, std::optional<rados::cls::fifo::objv>, std::optional<std::basic_string_view<char> >, bool, long unsigned int, long unsigned int)'} to 'rados::cls::fifo::journal_entry::Op'
620 | case create:```