1

Windowsフォームアプリケーションで単純な_beginthread関数を使用してスレッドを作成しようとしました(コンソールアプリケーションを作成することで成功しました。

private: System::Void __cdecl counter() {
             do {
                 Sleep(1);
                 stan++;
                 label1->Text = stan.ToString();
             } while(true);
             _endthread();
         }

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
             button1->Enabled = false;
             HANDLE licznik = (HANDLE) _beginthread(counter(), 0, 0);
         }
};`

私のエラー(および警告)は次のとおりです。

c:\users\artur\desktop\clock\thread_clock\thread_clock\Form1.h(117): warning C4441: calling convention of '__cdecl ' ignored; '__clrcall ' used instead 1>c:\users\artur\desktop\clock\thread_clock\thread_clock\Form1.h(128): error C2664: '_beginthread' : cannot convert parameter 1 from 'void' to 'void (__cdecl *)(void *)' 1> Expressions of type void cannot be converted to other types

それを防ぐ方法は?

4

0 に答える 0