<> операнд с BOOST_SCOPED_ENUM - PullRequest
0 голосов
/ 14 мая 2019

У меня BOOST_SCOPED_ENUM как указано ниже


#ifndef DOXYGEN_NO_DETAIL
namespace detail { namespace wkb
{

BOOST_SCOPED_ENUM_START(byte_order)
{
    xdr     = 0, // wkbXDR, bit-endian
    ndr     = 1, // wkbNDR, little-endian
    unknown = 2  // not defined by OGC
};
BOOST_SCOPED_ENUM_END

}} // namespace detail::wkb
#endif // DOXYGEN_NO_IMPL

}} // namespace boost::geometry

#endif // BOOST_GEOMETRY_EXTENSIONS_GIS_IO_WKB_DETAIL_OGC_HPP

Я хотел использовать его с операндом >, так как это перечисление является целым числом.Вот мой код

boost::uint8_t value;
if (value_parser<boost::uint8_t>::parse(it, end, value, byte_order::unknown))
{
    if (byte_order::unknown > value)
    {
        order = (0 == value ? byte_order::xdr : byte_order::ndr);
        return true;
    }
}

Но я продолжаю получать эту ошибку при компиляции

error: no match for ‘operator>’ (operand types are ‘boost::geometry::detail::wkb::byte_order’ and ‘uint8_t {aka unsigned char}’)
             if (byte_order::unknown > value)
                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~

Кажется, мне нужно привести объект, но я не смог найти способ его привести.есть ли способ разыграть это enum на uint8_t?Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...