C++ 带有boost库C+的向量字符串+;出错

C++ 带有boost库C+的向量字符串+;出错,c++,boost,vector,C++,Boost,Vector,这是我想写的代码 int opt; po::options_description desc("Allowed options"); desc.add_options() ("help","produce help message") ("compression",po::value<int>(&opt)->default_value(10),"optimization level") ("include-path,I", po::value&l

这是我想写的代码

int opt;
po::options_description desc("Allowed options");
desc.add_options()
    ("help","produce help message")
    ("compression",po::value<int>(&opt)->default_value(10),"optimization level")
    ("include-path,I", po::value< std::vector<std::string> >(), "include path")
    ("input file", po::value< std::vector<std::string> >(),"input file")
    ;


po::variables_map vm;
po::store(po::parse_command_line(argc,argv,desc),vm);
po::notify(vm);

if (vm.count("help")){
    std::cout <<desc<<"\n";
    return 1;
}
if (vm.count("compression")){
    std::cout<<"Compression level was set to"<<vm["compression"].as<int>()<<".\n";
} else {
    std::cout << "compression level was not set.\n";
} 
if (vm.count("include-path")){
    std::cout << "Include paths are:     " << vm["include-path"].as< std::vector<std::string> > ()<< "\n";
    }
int-opt;
采购订单:选项描述描述(“允许选项”);
说明添加选项()
(“帮助”,“生成帮助消息”)
(“压缩”,po::值(&opt)->默认值(10),“优化级别”)
(“包含路径,I”,po::value(),“包含路径”)
(“输入文件”,po::value(),“输入文件”)
;
变量映射虚拟机;
po::store(po::parse_命令行(argc、argv、desc)、vm);
po::通知(vm);
if(vm.count(“帮助”)){

std::cout我认为这里的问题是,不您需要流操作符的专门化来处理向量

template<class T>
std::ostream& operator <<(std::ostream& os, const std::vector<T>& v)
{
    std::copy(v.begin(), v.end(), std::ostream_iterator<T>(std::cout, " ")); 
    return os;
}
模板
std::ostream和操作员
template<class T>
std::ostream& operator <<(std::ostream& os, const std::vector<T>& v)
{
    std::copy(v.begin(), v.end(), std::ostream_iterator<T>(std::cout, " ")); 
    return os;
}