Я использую библиотеку boost.program_options. Рассмотрим этот упрощенный случай.
po::options_description desc("Usage");
desc.add_options()
("uninstall,u", "uninstall program")
("custom,c", po::wvalue<std::wstring>(), "specify custom action");
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
Я хочу выдать ошибку в такой командной строке:
testprog.exe -u c- action1
Обратите внимание, пользователь допустил опечатку " c- "вместо" -c ". Но синтаксический анализатор понимает это как единственную опцию -u. Как мне обрабатывать такие случаи?