'<function-style-cast>': невозможно преобразовать из 'cmdline_error' в 'boost::system::system_error'

Мой проект использовал повышение 1,58 на протяжении веков. Теперь я обновил версию Visual Studio до 2017 года. И повысил версию 1.68.0.

Boost 1.68.0 имеет некоторые изменения в своем классе error_code, что нарушает нашу сборку.

получить следующую ошибку

Error   C2440   '<function-style-cast>': cannot convert from 'cmdline_error' to 'boost::system::system_error'

где cmdline_error определяется следующим образом

enum cmdline_error
{
   success = 0,
   missing_argument,
   argument_conversion_failed
};

и это объявление, которое создает ошибку

cmdline_error cmdError;

boost::system::system_error systemError = boost::system::system_error(cmdError);

В сборке Linux возникает следующая ошибка

error: no matching function for call to ‘boost::system::system_error::system_error(cmdline_error)’

Этот код работал с бустом 1.48, 1.58. 1,62

Как правильно обработать эту ошибку здесь?

0 ответов

Другие вопросы по тегам