我似乎无法像在命令行中那样从配置文件中读取多 token 选项。配置文件的语法是什么?
这是添加选项描述的方式:
//parser.cpp
- - -
po::options_description* generic;
generic=new po::options_description("Generic options");
generic->add_options()
("coordinate",po::value<std::vector<double> >()->multitoken(),"Coordinates (x,y)");
之后我解析命令和配置文件。
在命令行'--coordinate 1 2' 有效。但是,当我尝试在配置文件中:
coordinate = 1,2
或
coordinate= 1 2
给出一个 invalid_option_value 异常失败。那么在多 token 选项的情况下,配置文件的语法到底是什么?
最佳答案
在您的配置文件中,将 vector 的每个元素放在不同的行上。
coordinate=1
coordinate=2
关于c++ - boost::program_options 具有多个标记的配置文件选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5884465/