Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么不能将_C++_Boost_Boost Program Options - Fatal编程技术网

C++ 为什么不能将

C++ 为什么不能将,c++,boost,boost-program-options,C++,Boost,Boost Program Options,我收到的错误是函数体中的第二行。上面写着:不匹配“操作员” 这仅在您知道基础类型时有效。它在实现中使用boost::any和boost::any_强制转换。如果上述示例中的值不是字符串,它将抛出boost::bad\u any\u cast异常 如果可能的类型很少,您可以链接try/catch或使用typeid来发现正确的类型。那当然是超级骇客了 这一次,错误信息实际上非常简单:@KonradRudolph没有过载,对吧。。。那么,我该如何计算变量值类型的内容呢?肯定有办法访问我放在那里的std

我收到的错误是函数体中的第二行。上面写着:不匹配“操作员” 这仅在您知道基础类型时有效。它在实现中使用boost::any和boost::any_强制转换。如果上述示例中的值不是字符串,它将抛出boost::bad\u any\u cast异常


如果可能的类型很少,您可以链接try/catch或使用typeid来发现正确的类型。那当然是超级骇客了

这一次,错误信息实际上非常简单:@KonradRudolph没有过载,对吧。。。那么,我该如何计算变量值类型的内容呢?肯定有办法访问我放在那里的std::字符串。我认为没有——也不应该有。变量_value是一种不透明类型,可以保存任何类型的值,它支持的唯一操作是检索该值并将其存储在其他地方,使用正确的类型。就这样。如果您知道类型,那么您可以通过以下方式检索它:std::cout@KonradRudolph,谢谢,这正是我要查找的。如果我不清楚,我道歉!
int application(po::variables_map& vm)
{
    std::cout << &vm << std::endl;
    std::cout << vm["infile"];

    return SUCCESS;
}
std::cout << vm["infile"].as<std::string>() << std::endl;