另一个升压错误

Another boost error

本文关键字:错误 另一个      更新时间:2023-10-16

在此代码上,我收到错误

static void ParseTheCommandLine(int argc, char *argv[])
{
int count;
int seqNumber;
namespace po = boost::program_options;
std::string appName = boost::filesystem::basename(argv[0]);
po::options_description desc("Generic options");
desc.add_options()
("version,v", "print version string")
("help", "produce help message")
("sequence-number", po::value<int>(&seqNumber)->default_value(0), "sequence number")
("pem-file", po::value< vector<string> >(), "pem file")
;
po::positional_options_description p;
p.add("pem-file", -1);
po::variables_map vm;
po::store(po::command_line_parser(argc, argv).
          options(desc).positional(p).run(), vm);
po::notify(vm);
if (vm.count("pem file"))
{
    cout << "Pem files are: "
         << vm["pem-file"].as< vector<string> >() << "n";
}
cout << "Sequence number is " << seqNumber << "n";
exit(1);

../../../FIXMarketDataCommandLineParameters/FIXMarketDataCommandLineParameters.hpp|98|error: no match for 'operator<<' in 'std::operator<<[with _Traits = std::char_traits](((std::basic_ostream>&)(& std::cout)), ((const char*)"Pem files are: ")) <<((const boost::p rogram_options::variable_value*)vm.boost::p rogram_options::variables_map::operator[](((const std::string&)(& std::basic_string, std::allocator>(((const char*)"pem-file"), ((const std::allocator&)((const std::allocator*)(& std::allocator())))))))))))->boost::p rogram_options:::variable_value::as 与 T =

std::vector, std:::分配器>, std::分配器, std::分配器>>>'|

向量不实现ostream & operator<<(std::ostream &) .

您可能应该执行以下操作:

cout << "Pem files are: ";
for (auto & x : vm["pem-file"].as< vector<string> >())
    cout << x << "n";
相关文章: