无法初始化boost::asio::io_service

问题描述 投票:0回答:0

我正在尝试使用boost/asio编写一个服务器,我有“class Server”,当我尝试传入这个类io_service的参数时, 出现错误,该 io_service 在 boost/asio 中不可用。

服务器.h

#pragma once

#define _WIN32_WINNT

#include <iostream>
#include <string>
#include <boost/asio.hpp>

class Server
{
    std::string server_address;
    std::string server_port;
    boost::asio::io_service server_io_service;
    boost::asio::ip::tcp::endpoint server_ep;
    boost::asio::ip::tcp::acceptor server_acceptor;
    boost::asio::ip::tcp::socket server_socket;


public:
    explicit Server(std::string address, std::string port, boost::asio::io_service& io_service);
    explicit Server();
    ~Server();

    void start_listening() noexcept; 
};

服务器.cpp

#include "../headers/server.h"

Server::Server(std::string address, std::string port, boost::asio::io_service& io_service) :
    server_address(address),
    server_port(port),
    server_io_service(io_service), // error
    server_ep(boost::asio::ip::tcp::v4(), std::stoi(port)),
    server_acceptor(io_service, server_ep),
    server_socket(io_service)
{}

输出 [1/2] 构建 CXX 对象 CMakeFiles\Server.dir\source\Server.cpp.obj 失败:CMakeFiles/Server.dir/source/Server.cpp.obj C:\PROGRA~1\MICROS~4�2\COMMUN~1\VC\Tools\MSVCc8~1.331 in\Hostx64\x6

c++ boost network-programming boost-asio
© www.soinside.com 2019 - 2024. All rights reserved.