我想在需要時推送一系列清理函數。我正在使用atexit來做這個沒有任何參數的清理函數,但我不確定如何將這種方法擴展到多個清理函數。我不是很熟悉boost :: bind,但認爲這是一個好主意,因爲這是我如何將我的函數綁定到線程...將值傳遞給atexit
在C++中我試圖得到以下工作:
功能定義
static void closeAnimation(string prefix="");// static member of fileWriter
代碼:
atexit(boost::bind(fileWriter::closeAnimation, "0")); // I want to first prefix to be "0"
錯誤:
cannot convert ‘boost::_bi::bind_t<void, void (*)(std::basic_string<char>), boost::_bi::list1<boost::_bi::value<const char*> > >’ to ‘void (*)()’ for argument
在此先感謝!
注意:當存儲範圍時,確保只要您需要使用該範圍,它所基於的收集就會存活下來。 –