我的问题是我需要创建这个地图结构,这样我就可以存储两个普通字符串和两个管道fd的int数组。
我的代码是:
map<string, map <string, int[2]> > fillEndPipes(Automata a){
map <string, map<string, int[2]> > tempMap;
vector <string> tempVector = a.getStates();
vector <string>::const_iterator it;
string name = a.getName();
for(it = tempVector.begin(); it != tempVector.end(); it++){
int tuberia[2];
pipe (tuberia);
map<string, int[2]> innerMap;
innerMap.insert(pair<string,int>((*it),(tuberia)));
tempMap.insert(pair<string, map <string, int[2]> >(name,innerMap));
}
return tempMap;
}
我没有找到将int [2]插入对或地图的方法。
答案 0 :(得分:1)
你可以定义一个结构&amp;用它代替int[2]
struct pipefd {
int fdin;
int fdout;
};
答案 1 :(得分:0)
你可以使用std :: pair
map <string, map<string, pair<int,int> > > tempMap;