C++ 表达式列表在初始值设定项中被视为复合表达式
我正在处理以下头文件和cpp文件,希望在代码中使用此服务器对象,但标题中出现错误 头文件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
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*服务器(主机、端口)中的指针代码>