I got the following error when I initialize the base class whose constructor takes a reference with a temporary object (jsonrpc::HttpServer(port)). I thought std::move is for this scenario but std::move(jsonrpc::HttpServer(port) doesn't work either. Any idea?
class Server : public jsonrpc::AbstractServer<Server>
{
    public:
        Server(jsonrpc::AbstractServerConnector &conn) : jsonrpc::AbstractServer<Server>(conn)
        {
            //...
        }
};
class MyServer: public Server {
    public: MyServer(int port);
}
// error
MyServer::EnclaveRPC(int port):Server(jsonrpc::HttpServer(port)){}
MyServer::EnclaveRPC(int port):Server(std::move(jsonrpc::HttpServer(port))){}
error: invalid initialization of non-const reference of type ‘jsonrpc::AbstractServerConnector&’ from an rvalue of type ‘jsonrpc::AbstractServerConnector’ : Server(jsonrpc::HttpServer(port)){
 
     
     
    