title: Seemingly inappropriate compilation warning with C++/CLI
body: <p>I'm playing with a C++/CLI application that talks to my Isis2 (C# .NET) library.  In the code below I get the error "Warning 3 C4538: 'cli::array ^' : const/volatile qualifiers on this type are not supported".  I highlighted the line that throws this.  I'm baffled: this doesn't have an array, nor does it use const or volatile!  Any suggestions?</p>
  
  <pre><code>// CPlusPlus.cpp : main project file.
  
  #include "stdafx.h"
  #using &lt;IsisLib.dll&gt;
  using namespace Isis;
  using namespace System;
  
  void GotNewView(View^ v)
  {
     Console::WriteLine("Got a new view: " + v-&gt;ToString());
  }
  
  public delegate void GotAnInt_T (int i);
  void GotAnInt(int i)
  {
     Console::WriteLine("Got an int: {0}", i);
  }
  
  public delegate void GotTwo_T (String ^s, double d);
  void GotTwo(String^ s, double d)
  {
     Console::WriteLine("Got a string: &lt;{0}&gt; and a double: {1}", s, d);
  }
  
  public delegate void SendsReply_T(int i);
  void SendsReply(int i)
  {
     thisGroup()-&gt;Reply(-i);
  }
  
  int main(array&lt;System::String ^&gt; ^args)
  { 
     IsisSystem::Start();
     Group ^g = gcnew Group("test");       &lt;============= THIS LINE
     g-&gt;RegisterViewHandler(gcnew ViewHandler(GotNewView));
     g-&gt;Handlers[0] += gcnew GotAnInt_T(GotAnInt);
     g-&gt;Handlers[0] += gcnew GotTwo_T(GotTwo);
     g-&gt;Handlers[1] += gcnew SendsReply_T(SendsReply);
     g-&gt;Join();
     g-&gt;Send((int^)0, 12345);
     g-&gt;Send((int^)0, "Aardvarks are animals", 78.91);
     Console::WriteLine("After Send, testing Query");
     Collections::Generic::List&lt;int&gt;^ results = gcnew Collections::Generic::List&lt;int&gt;();
     int nr = g-&gt;Query(Group::ALL, 1, 6543, gcnew EOLMarker(), results);
     IsisSystem::WaitForever();
     return 0;
  }
  </code></pre>