2011-03-17 19 views
1

我已經成功地編譯了下面的代碼,但是我必須創建一個線程數組。初始化一個受管理的線程數組

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)); 
} 

哪裏做錯了?感謝幫助。

回答

2

代碼中有幾處語法錯誤。

gcnew array<Thread^>[25]; 

不要使用方括號中,使用(25)

gcnew ThreadStart(form1obj, &Form1::bruteforce) 

首先說法是錯誤的,它必須是一個Form1中實例的引用,而不是因爲暴力破解形式的陣列()是Form1的一種方法。也許你的意思是form1obj [counter]。

+0

謝謝你的留言。它編譯得很完美。就像你說的,第一個參數必須是form1obj [counter]。再次感謝(我已經爲這個問題谷歌2天了,哈哈) – 2011-03-17 03:05:16