ich eine Karte von Zeichenfolge zu einem Paar von Paaren wie folgt erklärt:Wie fügt man ein Paar std :: pair in ein anderes std :: pair ein?
std::map<std::wstring,
std::pair<std::pair<long, long>,
std::pair<long, long>>> reference;
Und ich initialisieren es als:
reference.insert(L"First",
std::pair<std::pair<long, long>,
std::pair<long, long>>(std::pair<long, long>(-1, -1),
std::pair<long, long>(0, 0)));
jedoch Visual C++ gibt mir die Fehlermeldung „C2664, No Konstruktor könnte den Quellentyp verwenden, oder die Auflösung der Konstruktorüberladung war mehrdeutig ".
Ich bin neu mit Vorlagen und STL und ich kann nicht sagen, was ich falsch mache.
Bitte verwenden Sie typedef die und 'std :: make_pair', um es lesbar zu machen. – GManNickG
Ich habe es umformatiert, um es * ein bisschen * einfacher für die Augen zu machen. – egrunin
Anstatt alle diese 'std :: pair's zu verschachteln, könntest du nicht auf' std :: tr1 :: tuple' umschalten? Boost hat auch eine Tupel-Implementierung. – Praetorian