如何在Boost程序选项中设置vector <vector <string >>的默认值

时间:2018-10-05 18:46:22

标签: c++ boost

在Boost程序选项中设置vector<vector<string>>的默认值时,我收到编译错误。

以下是我设置默认值的行

("A", po::value< std::vector<std::vector<std::string>>> &funcCols_)->multitoken()->default_value(std::vector<std::vector<std::string>>(), ""), "function_columns")

编译错误:

In file included from 
third_party_include/boost/program_options/value_semantic.hpp:421:0,
             from 
third_party_include/boost/program_options/options_description.hpp:13,
             from third_party_include/boost/program_options.hpp:15,

在这种情况下设置默认值的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

让您的生活更轻松,因此您可以阅读自己的代码:

typedef std::vector<std::vector<std::string> > svvector;
svvector funcCols_;

// ...
po::value<svvector>(&funcCols_)->multitoken()->default_value(svvector(), "")