必要に応じて一連のクリーンアップ機能をプッシュしたいと思います。私はatexitを使用して、パラメータなしで1つのクリーンアップ関数を実行していましたが、このアプローチを複数のクリーンアップ関数に拡張する方法がわかりません。私はboost :: bindに詳しくはわかりませんが、スレッドに関数をバインドする方法としては良い考えであると仮定しています...atexitに値を渡す
私は以下のコードを実行しようとしています:
関数定義
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
ありがとうございます!
注:範囲を保存するときは、範囲を使用する必要がある限り、そのコレクションが存続することを確認してください。 –