首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么向量对的problemsPathCoordinate向量是空的?

为什么向量对的problemsPathCoordinate向量是空的?
EN

Stack Overflow用户
提问于 2016-03-02 18:28:20
回答 1查看 38关注 0票数 0

我曾尝试用成对向量的较大向量中的一些内容填充成对向量的较小向量,但没有成功。下面是couts的相关代码及其输出。希望这是足够详细的。

代码语言:javascript
复制
    /*******************Problems Occur*****************/

        int iFirst=problemsStartAt;//first index to copy
        int iLast=problemsEndAt-1;//last index -1, 11th stays
        int iLen=iLast-iFirst;//10-8=2
        //if(problemsStartAt!=0)//I.a
        if(problemsStartAt!=0&&problemsEndAt!=0)//I.b
        {
            v_problem_temp=allPathCoordinates[problemsStartAt];
            cout<<"266:"<<v_problem_temp.size()<<endl;
            cout<<"267:"<<allPathCoordinates.at(1).size()<<endl;
            for(vector<pair<int,int>>::iterator  it2=v_problem_temp.begin();
            it2!=v_problem_temp.end();
            ++it2)
                {
                    apair=*it2;
                    point[apair.first][apair.second]=Yellow;
                    cout<<apair.first<<","<<apair.second<<endl;
                }
                problemsPathCoordinate.resize(iLen);
                cout<<"iLen*sizeof(problemsPathCoordinate):"      <<iLen*sizeof(problemsPathCoordinate)<<endl;


                    memcpy(&problemsPathCoordinate[0],&allPathCoordinates[iFirst],iLen*sizeof(problemsPathCoordinate));
        cout<<"279:problemsPathCoordinate.size():"<<problemsPathCoordinate.size()<<endl;

        problemsPathCoordinate.resize(iLen);
        memcpy(&problemsPathCoordinate[0],&allPathCoordinates[iFirst],iLen*sizeof(problemsPathCoordinate));
        cout<<"283:problemsPathCoordinate.size():"<<problemsPathCoordinate[0].size()<<endl;
        cout<<"284:problemsPathCoordinate.size():"<<problemsPathCoordinate[1].size()<<endl;

        cout<<"286:allPathCoordinates.size():"<<allPathCoordinates.size()<<endl;
        cout<<"287:allPathCoordinates.size():"<<allPathCoordinates.size()<<endl;
        //from http://stackoverflow.com/questions/35265577/c-reverse-a-smaller-range-in-a-vector


}
    Output:
    759: path NOT full-filled, number: 8
    755: Problems START here at:8
    759: path NOT full-filled, number: 9
    700: Problems END here at: 11
    266:0
    267:0
    iLen*sizeof(problemsPathCoordinate):72
    279:problemsPathCoordinate.size():3
    283:problemsPathCoordinate.size():0
    284:problemsPathCoordinate.size():0
    286:allPathCoordinates.size():79512
    287:allPathCoordinates.size():79512
    time:39 seconds

为什么三个problemsPathCoordinate元素是空的。如何修复它?Bo

EN

回答 1

Stack Overflow用户

发布于 2016-03-03 01:26:03

for (向量>>::迭代器it = allPathCoordinates.begin();it != allPathCoordinates.end();++it) { allPathCoordinates.erase(allPathCoordinates.begin()+5,allPathCoordinates.end()-2);v_temp = *it;//cout<<"v_temp.size():"<

代码语言:javascript
复制
    for (vector<pair<int,int> >::iterator it2 = v_temp.begin(); it2 != v_temp.end(); ++it2) {
        //v_temp.erase(v_temp.begin()+2);
        apair = *it2;
        //cout << "(" << apair.first << "," << apair.second << ") ; ";
        openPoints[apair.first][apair.second]=0;
        closedPoints[apair.first][apair.second]=1;
        allObstacles[apair.first][apair.second]=Wall;
        point[apair.first][apair.second]=Yellow;
    }
    /
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35744531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档