boostorg / boostorg/program_options

Why doesn't `allow_unregistered` work for me?

Offen
#113 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
136
Forks
117
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I still get `too many positional options have been specified on the command line` on `run()`

The excerpt

```c++
boost::program_options::variables_map vm;
try{
auto parsed = boost::program_options::command_line_parser(rawArgs.argc, rawArgs.argv).options(oDesc).positional(pd).allow_unregistered().run(); //too many positional options have been specified on the command line
boost::program_options::store(parsed, vm);
boost::program_options::notify(vm);
auto rest = boost::program_options::collect_unrecognized(parsed.options, boost::program_options::collect_unrecognized_mode::include_positional);
} catch(std::exception &ex) {
PROCESS_CASE_OF_SYNTAX_ERROR_WHATABLE_EXCEPTION(ex);
}
```

The full source is here: https://github.com/HydrArgs/HydrArgs/blob/master/backends/BoostArgs.cpp

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der verlinkten Quelldatei in backends/BoostArgs.cpp und verfolge die Einrichtung von command_line_parser durch options(oDesc), positional(pd) und allow_unregistered(). Reproduziere den run()-Fehler mit den gezeigten rawArgs und ermittle anschließend, warum das Positionslimit überschritten wird; abgeschlossen ist die Aufgabe, wenn die vorgesehenen nicht registrierten Argumente diese Ausnahme nicht mehr auslösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.