title: Converting array of an object passed in as an argument to vector
body: <p>I'm trying to convert an array of Wall to a vector of Wall. The array is passed in as an argument and within the function I am trying to convert it using the <code>insert()</code>. I receive an error saying that <em>"no instance of overloaded function "std::begin" matches the argument list -- argument types are: (Wall *)"</em></p>
  
  <pre><code>int func(int row, int col, Wall walls[]) {
    // Some code before ...
  
    // Converting array of Wall to vector
    std::vector&lt;Wall&gt; vecWalls;
    vecWalls.insert(vecWalls.begin(), std::begin(walls), std::end(walls));
   }
  </code></pre>
  
  <p>I have tried just creating another array of Wall within the function and using that to as an argument for the <code>insert()</code>. However, that did not create any issues.</p>
  
  <pre><code>Wall walls2[5];
  std::vector&lt;Wall&gt; vecWalls;
  vecWalls.insert(vecWalls.begin(), std::begin(walls2), std::end(walls2));
  </code></pre>
  
  <p>What is happening to my array of Wall when it is being passed as an argument.</p>