Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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++ 无法将boost::asio::netdb::errors转换为std::error\u代码_C++_Boost_Boost Asio_Cpp Netlib - Fatal编程技术网

C++ 无法将boost::asio::netdb::errors转换为std::error\u代码

C++ 无法将boost::asio::netdb::errors转换为std::error\u代码,c++,boost,boost-asio,cpp-netlib,C++,Boost,Boost Asio,Cpp Netlib,我正在尝试编译此代码(取自文档): 我使用的是VS2015、cpp netlib 0.12.0(最终版)和Boost 1.55.0,我不知道是什么导致了这种情况。有办法解决吗?几天来,我一直在绞尽脑汁试图让这个库正常工作,但不幸的是,似乎总是会出现一个新错误。在boost::asio中,任何时候你想在回调/调用中使用错误代码,而不是std::error\u code时,你都应该使用boost::system::error\u code 我不知道netlib在后台做了什么,但这可能是参考代码中存在

我正在尝试编译此代码(取自文档):


我使用的是VS2015、cpp netlib 0.12.0(最终版)和Boost 1.55.0,我不知道是什么导致了这种情况。有办法解决吗?几天来,我一直在绞尽脑汁试图让这个库正常工作,但不幸的是,似乎总是会出现一个新错误。

在boost::asio中,任何时候你想在回调/调用中使用错误代码,而不是
std::error\u code
时,你都应该使用
boost::system::error\u code


我不知道netlib在后台做了什么,但这可能是参考代码中存在错误的证据,或者仅仅是代码的旧版本使用了错误的符号。

在boost::asio中,当您打算在回调/调用中使用错误代码时,您需要使用
boost::system::error\u code
,非
std::错误\u代码


我不知道netlib在后台做了什么,但这可能是参考代码中存在错误的证据,也可能只是代码的旧版本使用了错误的符号。

我在OS X 10.11.4上使用了clang 7.3.0、cppnetlib 0.12.0、asio 1.10.6和boost 10.60.0,它可以工作

我使用clang++-lcppnetlib uri-lcppnetlib client connections-lssl-lcrypto-I/opt/local/include-L/opt/local/lib-std=c++11 test.cpp-o test编译了您提供的示例


如果您想启用HTTPS支持,请确保在包含
BOOST/NETWORK/protocol/http/client.hpp
之前添加
\define BOOST\u NETWORK\u ENABLE\u HTTPS

我在OS X 10.11.4上使用的是clang 7.3.0、cppnetlib 0.12.0、asio 1.10.6和BOOST 10.60.0,它可以正常工作

我使用clang++-lcppnetlib uri-lcppnetlib client connections-lssl-lcrypto-I/opt/local/include-L/opt/local/lib-std=c++11 test.cpp-o test编译了您提供的示例


如果要启用HTTPS支持,请确保在包含
BOOST/NETWORK/protocol/http/client.hpp
之前添加
\define BOOST\u NETWORK\u ENABLE\u HTTPS

通常对于
BOOST asio
,您必须链接
BOOST\u系统
以处理错误。然而,我已经快速浏览了
boost/asio/error.hpp
boost/system/error\u code.hpp
,我不认为
boost::asio::error::netdb\u errors
asio
错误,我认为这是
cpp netlib
错误。。。希望他们使用了相同的机制。通常对于
boost asio
,您必须链接
boost\u系统来处理错误。然而,我已经快速浏览了
boost/asio/error.hpp
boost/system/error\u code.hpp
,我不认为
boost::asio::error::netdb\u errors
asio
错误,我认为这是
cpp netlib
错误。。。希望他们使用了相同的机制。
#include <boost/network/protocol/http/client.hpp>
#include <iostream>

int main(int argc, char *argv[]) {
    using namespace boost::network;

    if (argc != 2) {
        std::cout << "Usage: " << argv[0] << " [url]" << std::endl;
        return 1;
    }

    http::client client;
    http::client::request request(argv[1]);
    request << header("Connection", "close");
    http::client::response response = client.get(request);
    std::cout << body(response) << std::endl;

    return 0;
}
Error   C2446   ':': no conversion from 'boost::asio::error::netdb_errors' to 'const std::error_code'