Mikołaj Kuciński
Mikołaj Kuciński

Reputation: 37

Expected ‘)’ before ‘&’ token C++

I have following class definition. While trying to build it, I'm coming across strange error. I don't see any mistake here. Any ideas?

#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
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

Upvotes: 1

Views: 676

Answers (1)

interjay
interjay

Reputation: 110146

io_context is a new name that was added in Boost 1.66 for compatibility with the C++ Networking TS. You must be using an older Boost version.

This page suggests that the old name was io_service, and this name will also be supported in new versions.

Upvotes: 8

Related Questions