2016-01-05 1 views
1

en utilisant Win7 x86 et vs2012 J'ai ce code:PPL: erreur C3861: 'parallel_for': identificateur non trouvé

#include <ppl.h> 
#include "concurrent_vector.h" 
..... 
int pretendletternum[16]; 
parallel_for(int(0), pretendletternum[vs[vs.size()-1].index], [=,&wordd](int a1) 
    { 
     wchar_t worddd[17]; memcpy(worddd,wordd,sizeof(wchar_t)*wordlenght); 
     int pretset1 = 0; 
     int index1 =vs[vs.size()-1].index; 
     worddd[index1] = (wchar_t)pretendletter[index1][a1]; 
     pretset1|=(1<<index1); 


     for(int a2 = 0; (questionnum>1)&&(a2<pretendletternum[vs[vs.size()-2].index]);a2++) 
     { 
     int index2 = vs[vs.size()-2].index; 
     worddd[index2] = (wchar_t)pretendletter[index2][a2]; 
     int pretset2 = pretset1; 
     pretset2|=(1<<index2); 

     for(int a3 = 0; (questionnum>2)&&(a3<pretendletternum[vs[vs.size()-3].index]);a3++) 
     { 
     int index3 = vs[vs.size()-3].index; 
     worddd[index3] = (wchar_t)pretendletter[index3][a3]; 
     int pretset3 = pretset2; 
     pretset3|=(1<<index3); 

     if(!(CheckLetterInWordWithoutSaveUni(worddd,index3,pretset3))) continue; 
     else if (questionnum==3) { SaveFoundWordParallel(worddd,wordlenght); continue;} 
     for(int a4 = 0; (questionnum>3)&&(a4<pretendletternum[vs[vs.size()-4].index]);a4++) 
     { 
     int index4 = vs[vs.size()-4].index; 
     worddd[index4] = (wchar_t)pretendletter[index4][a4]; 
     int pretset4 = pretset3; 
     pretset4|=(1<<index4);  
     if(!(CheckLetterInWordWithoutSaveUni(worddd,index4,pretset4))) continue; 
     else if (questionnum==4) { SaveFoundWordParallel(worddd,wordlenght); continue;} 
    ... 
}); 

Obtenir une telle erreur erreur C3861: 'parallel_for': identificateur non trouvé
mais le studio visuel donne "goto definition" et j'ai un projet très similaire où il se compile bien. Et vs can "-" mon parallel_for abstrait

Répondre

0

Essayez d'écrire si: concurrency::parallel_for

Ou tout simplement déclarer using namespace concurrency avance