マネージ C++ または C++/CLI に取り組んでいます。関数を実行するために CLI スレッドを開始しようとしています。しかし、ビルドしようとすると、「Microsoft (R) C/C++ optimizing compiler has stopped working.」というエラーが表示されます。出力ウィンドウで。「Foo.cpp(8): 致命的なエラー C1001: コンパイラで内部エラーが発生しました。」
//the class which holds the function to run
ref class Foo
{
void handleEvent();
void (*func)(void);
};
void Foo::handleEvent()
{
ThreadStart ^ param = gcnew ThreadStart(func); //line 8
Thread ^ thread = gcnew Thread(param);
thread.Start();
}
ThreadStart はネイティブ関数ポインタを処理できませんか? そうでない場合、C++/CLI から通常の C 関数ポインターを実行する別の方法はありますか?