title: expected primary-expression before ‘[’ token
body: <p>I usually use enums to keep two arrays consistent by defining them like following:</p>
  
  <pre><code>enum foo {
      ZERO = 0,
      ONE,
      TWO,
  };
  
  int int_array[] = {
      [ZERO] = 0,
      [ONE] = 1,
      [TWO] = 2
  };
  
  char *str_array[] = {
      [ZERO] = "ZERO",
      [ONE] = "ONE",
      [TWO] = "TWO"
  };
  </code></pre>
  
  <p>This code compiles fine for <code>c</code>, but throws following error when used in a <code>cpp</code> module.</p>
  
  <pre><code>expected primary-expression before ‘[’ token
  </code></pre>
  
  <p>Error is for each line in both array declarations. What's the problem here?</p>