我正在使用以下标头和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);
答案 0 :(得分:2)
在此声明中,声明了一个指针,它是一个标量对象
include::streaming_xfer::XferServer* server(host,port);
^^^
在标量对象的初始化中,您不能使用多个初始值设定项的列表(host,port)
。
要么宣布类型为include::streaming_xfer::XferServer
的对象
include::streaming_xfer::XferServer server(host,port);
或像
这样的指针include::streaming_xfer::XferServer* server = new include::streaming_xfer::XferServer(host,port);