C++ 表达式列表在初始值设定项中被视为复合表达式

C++ 表达式列表在初始值设定项中被视为复合表达式,c++,initialization,C++,Initialization,我正在处理以下头文件和cpp文件,希望在代码中使用此服务器对象,但标题中出现错误 头文件 class XferServer { public: XferServer(const std::string& host, uint16_t port); ~XferServer(void); bool Init(void); bool AcceptBagRequest(StreamingBagSender* sender); private: st

我正在处理以下头文件和cpp文件,希望在代码中使用此服务器对象,但标题中出现错误

头文件

class XferServer {
 public:
    XferServer(const std::string& host, uint16_t port);
    ~XferServer(void);

    bool Init(void);
    bool AcceptBagRequest(StreamingBagSender* sender);

 private:
    std::string host_;
    uint16_t port_;

    int server_socket_fd_;
};
cpp文件

XferServer::XferServer(const std::string& host, uint16_t port)
: host_(host)
, port_(port)
, server_socket_fd_(-1) {
}

XferServer::~XferServer(void) {

}
这就是我在我的程序中所做的,但是我得到了错误

const std::string& host = "host";
uint16_t port = 30000;

include::streaming_xfer::XferServer* server(host,port);

在这个声明中,声明了一个标量对象指针

include::streaming_xfer::XferServer* server(host,port);
                                  ^^^ 
在初始化标量对象时,不能使用多个初始值设定项的列表
(主机、端口)

要么您要声明类型为
include::streaming\u xfer::XferServer
的对象,比如

include::streaming_xfer::XferServer server(host,port);
或者像这样的指针

include::streaming_xfer::XferServer* server = new include::streaming_xfer::XferServer(host,port);

从变量定义中删除星号。为什么
XferServer
include::streaming\u xfer::XferServer*服务器(主机、端口)中的指针