2016-08-29 3 views
1

次のヘッダーと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) { 

} 

そして、これは私が私のプログラムでやっているものですが、宣言されたaがあり、この宣言でエラー

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

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

のようなポインタのようなタイプinclude::streaming_xfer::XferServerのオブジェクトを宣言するつもりだったのどちらか。 –

+0

なぜ 'XferServer'は' include :: streaming_xfer :: XferServer * server(host、port); 'のポインタですか? – KostasRim

答えて

2

を取得していますスカラーオブジェクトのポインタ

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

スカラーオブジェクトの初期化で複数のイニシャライザのリスト(host,port)を使用することはできません。

あなたは変数定義からアスタリスクを削除

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

または

include::streaming_xfer::XferServer* server = new include::streaming_xfer::XferServer(host,port); 
関連する問題