メンバ関数をスレッドにするには

[戻る]
akray 2001/05/12(土) 17:16:31
最近VC++をはじめたものですがスレッドの使い方が
よく分かりません。

スレッドを

AfxBeginThread

を用いて起動する際にスレッドの関数としてクラスの
メンバ関数を使用したいのですが普通に書くとエラーが出てしまいます。

どのようにすればよいのでしょうか。
よろしくお願いします。

Bun 2001/05/12(土) 22:45:49
私もスレッドに関する知識は詳しくありません。(その他もですけど(^^;)
ただ、今の環境や、どのようにスレッドをつくっているかなど
できるだけ、詳しくかつ、うまくまとめて記述されるとレスがつきやすくなると思います。

今の質問のしかたでは、答えの出しようがないと思います。

2001/05/12(土) 23:31:21
確かスレッドに使用する関数はstaticでないといけないはずなので
スレッドの関数にメンバ関数を使用しても当然エラーになります。

方法としては、
スレッドの関数はstatic指定し、引数で使用するクラスのポインタを渡す。
スレッドの関数からクラスポインタを使用しメンバ関数を呼び出す。

これでスレッドでメンバ関数を使用できると思います。

古いスレッドには追加発言できません。