[過去ログ] Boost総合スレ part9 (981レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
912(1): デフォルトの名無しさん [sage] 2012/04/21(土) 16:18:52.52 AAS
テンプレートクラスのメンバ関数を、
boost::threadとboost::bindで呼び出して、別スレッドで動かしたいのですが
うまくいきません。ご教授願います。
template<class T>
class TestClass : public T
{
public:
TestClass(void) : T() {}
};
class TestBase
{
public:
void print(TCHAR *str){ cout << str << endl; };
};
typedef TestClass<TestBase> MyTestClass;
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR *char str = _T("test");
MyTestClass myTestClass;
myTestClass.print(str); // 正常に動作
boost::thread myThread(boost::bind(&MyTestClass::print,str)); // ←コンパイルエラー
// c:\Program Files\boost\boost_1_47\boost\bind\mem_fn.hpp(333): error C2296: '->*' : 無効な左オペランドです。
}
913(1): デフォルトの名無しさん [sage] 2012/04/21(土) 17:52:34.92 AAS
>>912
boost::bindでクラスのメンバ関数ポインタを拘束した場合、第一引数はそのクラスのインスタンス(かインスタンスのポインタとか)になる
boost::bind(&MyTestClass::print, myTestClass, str)
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.042s