1

私の問題は、このマップ構造を作成して、2 つの通常の文字列と 2 つのパイプ 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] をペアまたはマップに挿入する方法が見つかりませんでした。

4

2 に答える 2

1

構造体を定義して、代わりに使用できますint[2]

struct pipefd {
    int fdin;
    int fdout;
};
于 2013-10-16T16:46:49.617 に答える
0

std::pair を使用できます

 map <string, map<string, pair<int,int> > > tempMap;
于 2013-10-16T17:22:45.863 に答える