我成功编译了以下代码,但我必须从中创建一个线程数组。
Form1^ form1obj = gcnew Form1();
Thread^ bfcaller = gcnew Thread(
gcnew ThreadStart( form1obj, &Form1::bruteforce ));
bfcaller->Start();
我通过制作这样的数组得到了错误:
array<Form1^>^ form1obj = gcnew array<Form1^>(25);
array<Thread^>^ bfcaller = gcnew array<Thread^>[25];
for (int counter = 0; counter < 25; counter++)
{
bfcaller[counter] = gcnew Thread( gcnew ThreadStart(form1obj, &Form1::bruteforce));
}
我在哪里做错了?谢谢你的帮助。
答案 0 :(得分:2)
代码中存在一些语法错误。
gcnew array<Thread^>[25];
请勿使用方括号,请使用(25)
gcnew ThreadStart(form1obj, &Form1::bruteforce)
第一个参数是错误的,它必须是对Form1实例的引用,而不是表单数组,因为bruteforce()是Form1的方法。也许你的意思是form1obj [counter]。