title: Conditional reference declaration in template class
body: <p>In a template class, how to define a property alias conditionally to the template?</p>
  
  <p>Example:</p>
  
  <pre><code>template&lt;class Type, unsigned int Dimensions&gt;
  class SpaceVector
  {
  public:
      std::array&lt;Type, Dimensions&gt; value;
      Type &amp;x = value[0]; // only if Dimensions &gt;0
      Type &amp;y = value[1]; // only if Dimensions &gt;1
      Type &amp;z = value[2]; // only if Dimensions &gt;2
  };
  </code></pre>
  
  <p>Is this conditional declaration possible? if yes, how?</p>