0

ペアを含むこのマルチマップを見つけましたか?、しかしそれはあまり助けにはなりません

2つの文字列をに挿入するにはどうすればよいpairですか?以下、私の2つの失敗した試み。

multimap<string, pair<string,string> > mymm;
mymm["Alex"] = std::pair<"000","000">; //errors
mymm.insert(pair<string, pair<string, string> > 
           ("Alex", std::pair<"000","000">); // errors out as well

Visual Studio 2010、32ビットを使用しています。ありがとう !

4

2 に答える 2

5
mymm.insert(make_pair("Alex",make_pair("000","000")));

マルチマップでは、一致するものが複数ある可能性があるため、演算子[]を使用したルックアップは許可されていません。

make_pairは、タイプを明示的に指定せずにペアを作成するための便利な方法です。make_pairを使用せずに、次のようなことを行う必要があります。

mymm.insert(pair<string,pair<string,string> >("Alex",pair<string,string>("000","000")));
于 2012-06-28T04:27:16.157 に答える
2

std::pair<string,string>("000","000")それをする必要があります。

<と>の間に含まれるコードは、挿入する変数のタイプを示します。この場合は文字列です。

于 2012-06-28T04:04:43.000 に答える