【发布时间】:2012-07-02 10:38:01
【问题描述】:
有没有一种简单的方法来检查选项的参数是否在一组预定义的选项中?这里的“简单”意味着不定义临时类。
假设我有选项--myoption,它的值必须是"myvalue1" 或"myvalue2"
例如在 python 中使用choices option in optparse 真的很容易
【问题讨论】:
-
这不只是比较字符串吗?假设他们都是
std::string,你可以做if ((arg == myvalue1) || (arg == myvalue2))。 -
当然,它可以工作,但我需要在
program-options中更集成的东西(例如它可以更改帮助消息),例如使用非字符串 -
你可能想解释更多关于你想做什么,不清楚。
-
@JesseGood:很简单,我希望如果用户输入
--myoption myvalue3,程序应该引发异常。
标签: c++ boost-program-options command-line-arguments