title: How to insert a pair of std::pair inside another std::pair?
body: <p>I'm declaring a map of string to a pair of pairs as follow:</p>
  
  <pre><code>std::map&lt;std::wstring, 
           std::pair&lt;std::pair&lt;long, long&gt;, 
                     std::pair&lt;long, long&gt;&gt;&gt; reference;
  </code></pre>
  
  <p>And I initialize it as:</p>
  
  <pre><code>reference.insert(L"First", 
                   std::pair&lt;std::pair&lt;long, long&gt;, 
                             std::pair&lt;long, long&gt;&gt;(std::pair&lt;long, long&gt;(-1, -1),
                             std::pair&lt;long, long&gt;(0, 0)));
  </code></pre>
  
  <p>However, Visual C++ gives me the error "C2664, No constructor could take the source type, or constructor overload resolution was ambiguous".</p>
  
  <p>I'm new to using templates and STL and I can't tell what I'm doing wrong.</p>