title: Why is it not possible to declare an array with a constant expression?
body: <p>I have a two dimensional <code>std::array</code>,</p>
  
  <pre><code>std::array&lt;std::array&lt;string, n_height&gt;, n_width&gt; data_able;
  </code></pre>
  
  <p><code>n_height</code> and <code>n_width</code> are constant variables, which I don't know their values for different <code>dataTables</code>, and the only possible way to get their values is using a function call:</p>
  
  <pre><code>const size_t n_height = dcmI_image-&gt;get_height();
  const size_t n_width = dcm_image-&gt;get_width();
  </code></pre>
  
  <p>But that is not possible, and this is what I get as an error:</p>
  
  <pre><code>error: the value of ‘n_height’ is not usable in a constant expression
   ‘n_height’ was not initialized with a constant expression
  </code></pre>
  
  <p>The same is for nWidth of course.</p>