/usr/local/include/boost/asio/basic_socket_acceptor.hpp:71:1: error: too few template parameters in template redeclaration
template <typename Protocol
^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/apovkh/projects/homm3/vcmi/lib/serializer/Connection.h:32:3: note: previous template declaration is here
template <typename Protocol,typename SocketAcceptorService>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tried to dig into the issue but neither basic_socket_acceptor.hpp nor Connection.h has been updated in a while, so possible an environment issue? I’m not a cpp expert, but shouldn’t it be the other way - Connection.h should redeclare the declaration from basic_socket_acceptor.hpp and not the opposite as the error message suggests?
In file included from /Users/apovkh/projects/homm3/vcmi/lib/serializer/Connection.cpp:17:
In file included from /usr/local/include/boost/asio.hpp:30:
/usr/local/include/boost/asio/basic_socket_acceptor.hpp:71:1: error: too few template parameters in template redeclaration
template <typename Protocol
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/apovkh/projects/homm3/vcmi/lib/serializer/Connection.cpp:11:
/Users/apovkh/projects/homm3/vcmi/lib/serializer/Connection.h:32:3: note: previous template declaration is here
template <typename Protocol,typename SocketAcceptorService>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The service template parameters, and the corresponding classes, are disabled by default. For example, instead of basic_socket<Protocol, SocketService> we now have simply basic_socket. The old interface can be enabled by defining the BOOST_ASIO_ENABLE_OLD_SERVICES macro.
Just in case am I getting it right that if we to define BOOST_ASIO_ENABLE_OLD_SERVICES it’s will let us avoid issues at least until we make code compatible with newer Boost?