C++相談室 part88
■ このスレッドは過去ログ倉庫に格納されています
0045デフォルトの名無しさん
2011/02/16(水) 07:08:24std::bind と std::function を使う
//test.h
template < class T > class test {
public:
class iterator {
public:void yobidashi( std::function<void ( T&, iterator )> function ){}
}
}
//hoge.h
#include <test.h>
struct aaa {
・・・
}
typedef test<aaa> testaaa;
//test2.h(実際はヘッダとソース分けてます)
#include <hoge.h>
class test2 {
private:
void func( aaa& a, iterator ite ) {}
public:
void zikkou(){
testaaa::iterator ite;
using namespace std::placeholders;
ite.yobidashi(std::bind(func, _1, _2));
}
}
方法2. void func( aaa& a, iterator ite ) {} -> static void func( aaa& a, iterator ite ) {} に変更
■ このスレッドは過去ログ倉庫に格納されています