Я пытался создать поток с простой функцией _beginthread в приложении Windows Forms (я успешно выполнил создание консольного приложения.
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
Как это предотвратить?
Задача ещё не решена.
Других решений пока нет …