? Quiero dar un valor predeterminado para el parámetro posicional como en el comentario en el código, pero el compilador se queja. El código tal como está compila bien. Yo uso impulso 1.46.1 y g ++¿Cómo especifico un valor predeterminado para el vector <string> en boost :: program_options
int main(int argc, char *argv[]) {
namespace po = boost::program_options;
po::positional_options_description p;
p.add("path", -1);
po::options_description desc("Options");
std::vector<std::string> vec_str;
std::string str;
desc.add_options()
("foo,f", po::value<std::string>()->default_value(str), "bar")
//("path,p", po::value< std::vector<std::string> >()->default_value(vec_str), "input files.")
("path,p", po::value< std::vector<std::string> >(), "input files.")
;
po::variables_map vm;
po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm);
po::notify(vm);
}
[¿Esto ayuda?] (Http://stackoverflow.com/a/3152802/220636) – nabulke
esta línea compila:>() -> default_value (std :: vector (), ""), "archivos de entrada.")
("camino, p", po :: valor
pero no sé por qué – Michael
@nabulke sí ayuda – Michael