在&''令牌C++之前预期')'

Mik*_*ski 0 c++ boost

我有以下课程定义.在尝试构建它时,我遇到了奇怪的错误.我在这里没有看到任何错误.有任何想法吗?

#ifndef SERVER_H
#define SERVER_H

#include <boost/asio.hpp>
#include <boost/asio/io_service.hpp>
#include "room.h"
#include "person_session.h"

class Server{
private:
    boost::asio::ip::tcp::acceptor acceptor;
    Room room;
    void accept();
public:
    Server(boost::asio::io_context& ioc, boost::asio::ip::tcp::endpoint& endpoint):acceptor(ioc,endpoint){
        accept();
    }
};

#endif
Run Code Online (Sandbox Code Playgroud)
expected ‘)’ before ‘&’ token
     Server(boost::asio::io_context& ioc, boost::asio::ip::tcp::endpoint& endpoint):acceptor(ioc,endpoint){}
                                   ^ 
CMakeFiles/server.dir/build.make:134: recipe for target 'CMakeFiles/server.dir/src/server.cpp.o' failed
make[2]: *** [CMakeFiles/server.dir/src/server.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/server.dir/all' failed
make[1]: *** [CMakeFiles/server.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

int*_*jay 7

io_context是Boost 1.66中添加的新名称,用于与C++ Networking TS兼容.您必须使用较旧的Boost版本.

此页面显示旧名称io_service,新版本也支持此名称.