0

独自のスレッドで構造体メソッドを開始したい:

g_thread_new( "NewThread", mymethod , NULL)

問題は、メソッドを「静的」に設定した場合にのみプログラムがコンパイルされることです。

static gpointer mymethod(gpointer nrp) { puts(this->mystring) ; ... }

しかし、メソッドを「静的」に設定すると、このような構造体インスタンス変数にアクセスできません-> mystring.

クラスメソッドで g_thread_new を使用し、インスタンス変数にアクセスする方法はありますか?

4

1 に答える 1

0

あなたができることとすべきことはvoid*、スレッドからのパラメーターとして静的関数で a を受け取ることです。それvoid*は、関数が呼び出されるオブジェクトです。オブジェクトの型にキャストしてメソッドを呼び出すだけです。

の使用も検討してboost::threadください。

于 2013-09-15T22:43:53.977 に答える