boost :: any_cast抛出程序选项C++
问题描述:
我有以下代码;boost :: any_cast抛出程序选项C++
using namespace std;
using namespace boost::program_options;
using namespace boost::filesystem;
using namespace cv;
namespace fs = boost::filesystem;
int frames2skip;
options_description desc("Allowed options");
desc.add_options();
("frames2skip", value<int>(&frames2skip)->default_value(2));
variables_map opts;
store(parse_command_line(argc, argv, desc), opts);
frames2skip = opts["frames2skip"].as<int>();
我会在最后一行分配'frames2skip'
后后出现以下错误:
what(): boost::bad_any_cast: failed conversion using boost::any_cast
Aborted (core dumped)
什么是错的,我怎么能解决这个问题?
答
desc.add_options();
//^rogue semicolon, the next line is a separate statement made up
// of parenthesized comma-expression and has no effect on `desc`.
("frames2skip", value<int>(&frames2skip)->default_value(2));
尤里,你能更简单地解释一下你的意思吗? – yusuf
@yusuf什么不清楚?删除指定的分号来修复你的东西。 –