2017-02-13 82 views
0

我在構造函數中生成類mongocxx :: instance的一個對象。如何用C++獲取MongoDB的當前實例?

構造:

mongocxx::instance instance{}; 
mongocxx::client client 
{ 
    mongocxx::uri{} 
}; 
database= client["test"]; 

現在我需要在一個函數來獲取此實例。我嘗試這樣做:

功能:

mongocxx::instance::current(); 
database.drop(); 

我在該行mongocxx::instance::current();程序崩潰。

有人可以幫助我嗎?

回答

0

一旦您的構造函數運行完成,您在堆棧中的mongocxx::instance對象已被銷燬。你需要保持一個instance的實例超過其他類型。

有關如何使用此類型的更多示例,請參閱源中的instance management example

+0

沒有匿名命名空間,這段代碼對我來說很有用。我在不同類的對象的不同函數中調用instance()方法。 Singleton對象只創建一次。但是,當我像示例中那樣使用匿名命名空間時,當我嘗試編譯代碼時,出現鏈接錯誤。 –

相關問題