2011-03-17 5 views
1

다음 코드를 컴파일하는 데 성공했지만 성공적으로 스레드 배열을 만들어야합니다. 나는 그것이 잘못했는지 않는 경우스레드의 관리되는 배열을 초기화하십시오.

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

:

Form1^ form1obj = gcnew Form1(); 
Thread^ bfcaller = gcnew Thread(
gcnew ThreadStart( form1obj, &Form1::bruteforce )); 
bfcaller->Start(); 

나는 이런 식으로하고 그 배열에 의해 오류가있어? 도와 주셔서 감사합니다.

답변

2

코드에 몇 가지 구문 오류가 있습니다.

gcnew array<Thread^>[25]; 

사용 대괄호를 사용하지 마십시오 (25)

gcnew ThreadStart(form1obj, &Form1::bruteforce) 

첫 번째 인수는, 그것이)를 Form1에 인스턴스에 대한 참조하지 bruteforce 이후 형태의 배열 (수 있어야 잘못 Form1의 방법. 어쩌면 form1obj [counter]를 의미했을 수도 있습니다.

+0

게시물 주셔서 감사합니다. 그것은 완벽하게 편집되었습니다. 앞에서 말했듯이 첫 번째 인수는 form1obj [counter] 여야합니다. 다시 고마워 (나는이 문제에 대해 이미 2 일 동안 웃음 거리를 봤다.) –

관련 문제