Как указать значение по умолчанию для vector в настройках программы boost ::_

Я хочу указать значение по умолчанию для позиционного параметра, как в комментарии в коде, но компилятор жалуется. Код в том виде, в котором он есть, компилируется нормально. Я использую boost 1.46.1 и g++

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);
}
12
задан Michael 10 August 2012 в 10:11
поделиться