该应用程序有两个选项:a和file。file是一个位置选项。两者a都有file一个字符串类型的参数,可以省略。(我为两者都设置了一个隐式空字符串)。
所需的行为如下:
$ program->file: ""$ program file.txt->file: "file.txt"$ program --a->a: "", file: ""$ program --a file.txt->a: "", file: "file.txt"$ program --a x file.txt->a: "x", file: "file.txt"
但是,选项 4 被解释为a: "file.txt", file: "". 有什么方法可以告知 program_options 如何解决这种模棱两可的情况?($ program --a -- file.txt确实可以按预期工作,但我也希望在没有额外内容的情况下也能正常工作。)我目前使用空字符串表示“未指定”,但这不是必需的。