1

win7 x86 と vs2012 を使用すると、次のようなコードがあります。

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

このようなエラー エラー C3861: 'parallel_for': identifier not found
が表示されますが、ビジュアル スタジオは "goto definition" を提供し、よくコンパイルされる非常によく似たプロジェクトがあります。そして vs can "-" my parallel_for abstract

4

1 に答える 1