title: I can define the length of an array using a constant, so why doesn't int d[b] work?
body: <pre class="lang-cpp prettyprint-override"><code>int a = 5;
  const int b = a, c = 4;
  
  int e[a];
  int d[b];
  int f[c];
  </code></pre>
  
  <p>The definition of <code>f[c]</code> is valid.<br>
  The variable <code>b</code> is also a constant <code>int</code>, but the compiler gave me the error <em>"expression must have a constant value"</em> for the line <code>int d[b]</code>. What are the differences between <code>b</code> and <code>c</code>?</p>