阅读背景:

for(auto&x: unordered_map变量)—此语句抛出错误。

来源:互联网 

Hi my code snippet is as below

我的代码片段如下。

#include <iostream>
#include <string>
#include <unordered_map>

struct job
{
    int priority;
    int state;
    std::string name;
};
job* selectJob(std::unordered_map<int, job*> jobList)
{
    for (auto& x : jobList)
    {
        if(x->state == 1)
        return x;
    }
    return NULL;
}

int main()
{
    std::unordered_map<int, job*> jobList;
    job a = { 1, 1, "a" };
    jobList.insert(std::make_pair<int, job*>(1, &a));
    job *selected = NULL;

    while (NULL != (selected = selectJob(jobList)))
    {
        std::cout << "Name: " << selected->name << "Prio: " << selected->priority << std::endl;
        selected->state = 2;
    }
    return 0;
}
#i



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: