title: gcc error when declaring reference to reference type
body: <p>In the OpenCV library there is a </p>
  
  <pre><code>typedef const _InputArray&amp; InputArray;
  </code></pre>
  
  <p>In our code we have the following function definition:  </p>
  
  <pre><code>void wimshow(const String&amp; winName, InputArray &amp;img) {
  </code></pre>
  
  <p>When compiling this the following error occurs:</p>
  
  <p><code>error: cannot declare reference to 'cv::InputArray {aka const class cv::_InputArray&amp;}'
   void wimshow(const String&amp; winName, InputArray &amp;img) {</code>  </p>
  
  <p>The weird thing is that this error only occurs using GCC 4.8.1 in the Cray environment.  Compiling in a normal Linux environment with GCC 4.8.1 works without errors.<br>
  At first glance I would say that a reference to a reference type is not very meaningful anyway but I am curious about what could cause the different compiler behavior!?</p>