【发布时间】:2022-06-30 00:03:05
【问题描述】:
我正在尝试从 ini 文件中设置多令牌值。
commonOptions.add_options()("ccf.multiPort", po::value<std::vector<int>>()->multitoken(), "multi port");
从命令行解析多令牌值效果很好
./main --ccf.multiPort 123 423 421
但是我无法在 ini 文件中设置相同的值
[ccf]
multiPort = 1234 2356 7745
产生以下错误
terminate called after throwing an instance of 'boost::wrapexcept<boost::program_options::invalid_option_value>'
what(): the argument ('1234 2356 7745') for option 'ccf.multiPort' is invalid
我也试过
[ccf]
multiPort = 1234,2356,7745
Boost::program_options versino 1.75 OS linux Compiler gcc 版本 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
有人知道正确的格式吗?
请帮助我避免深入研究源代码;)
【问题讨论】: