我的项目使用boost 1.58已经很久了。现在我已经将visualstudio版本升级到2017年。和boost版本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)â
这段代码在boost 1.48,1.58下工作。1.62
这里正确的处理这个错误的方法是什么?