我可以创建地图>?

我可以创建地图<string,map <string,int [2]>>?

问题描述:

我的问题是我需要创建这个映射结构,所以我可以存储2个普通字符串和2个管道fd的int数组。我可以创建地图<string,map <string,int [2]>>?

代码我有是:

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]到一对或地图的东西。 感谢您的意见。

+1

它不会工作。但你可以使用'std :: array '而不是普通数组。 – juanchopanza

+0

这会让你的事情变得复杂。你为什么不创建一个你想要的所有类,并将指针存储在map/vector中? –

+0

谢谢你们,你是对的! –

你可以定义一个结构&用它代替int[2]

struct pipefd { 
    int fdin; 
    int fdout; 
}; 
+0

谢谢,这会帮助我:) –

你可以使用std ::对

map <string, map<string, pair<int,int> > > tempMap;