'<function-style-cast>':无法从'cmdline_error'转换为'boost :: system :: system_error'

时间:2019-03-04 15:25:14

标签: c++ boost type-conversion boost-system

我的项目多年来一直使用Boost 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 个答案:

没有答案