title: Compilation error related to map and unordered_map: "attempting to reference a deleted function"
body: <p>I want to use map in C++ STL to create assosiation between vector and int. But I got multiple compilation error with code presented below:</p>
  
  <pre><code>#include &lt;vector&gt;
  #include &lt;map&gt;
  #include &lt;unordered_map&gt;
  
  using namespace std;
  
  int main(void)
  {
      unordered_map&lt;vector&lt;char&gt;, int&gt; mp;
      return 0;
  }
  </code></pre>
  
  <p>And got this compilation error in VC++:</p>
  
  <p>error C2280: 'std::hash&lt;_Kty>::hash(const std::hash&lt;_Kty> &amp;)': attempting to reference a deleted function</p>
  
  <p>However, if I change my code like presented below, then the code can be compiled properly:</p>
  
  <pre><code>#include &lt;vector&gt;
  #include &lt;map&gt;
  #include &lt;unordered_map&gt;
  
  using namespace std;
  
  int main(void)
  {
      map&lt;vector&lt;char&gt;, int&gt; mp;
      return 0;
  }
  </code></pre>
  
  <p>I have found this question asked in StackoverFlow, whose title is: 
  C++ unordered_map using a custom class type as the key. 
  But I wondered that why using map&lt;> can pass the compilation check but unable with unordered_map&lt;> ?</p>