title: Range based for loop throws a compiler error with array parameter
body: <p>Admittedly, I'm just finding my footsteps in C++ but I don't understand the error here.</p>
  
  <p>The following error gets displayed:</p>
  
  <p><code>Error  1   error C3312: no callable 'begin' function found for type 'int []'</code></p>
  
  <p><code>Error  2   error C3312: no callable 'end' function found for type 'int []'</code>     </p>
  
  <p><code>Error  3   error C2065: 'i' : undeclared identifier</code></p>
  
  <p><code>4  IntelliSense: this range-based 'for' statement requires a suitable "begin" function and none was found</code></p>
  
  <p>Code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  void printArray(int[]);
  
  int main() {
      int a[] = { 1, 2, 3, 4, 5 };
      printArray(a);
      system("pause");
      return 0;
  }
  
  void printArray(int a[]) {
      for (int i : a) {
          cout &lt;&lt; i &lt;&lt; " ";
      }
  }
  </code></pre>
  
  <p>Can't figure out what the problem is.</p>