title: C++ prototype initialiser lists?
body: <p>If I have the following code (simplified version of the problem):</p>
  
  <pre><code>class TestA
  {
      public:
      int A,B,C;
  
      TestA(){A = 1; B = 5; C = 10;}
  };
  
  //This is a referencing class to allow for universal and consistent operations
  class TestB
  {
     public:
     int &amp;A, &amp;B, &amp;C; //Note references
  
     TestB(TestA &amp;A) : A(A.A), B(A.B), C(A.C){}; //This is fine
     TestB(TestC &amp;C) : A(C.A), B(C.B), C(C.C){}; //This needs to be prototyped
  };
  
  //Similar class to TestA but in the main program would have...
  //...many different and conflicting variables and has to be treated as stand alone
  class TestC
  {
      public:
      int A, B, C;
      int Size;
  
      void Function()
      {
          TestB B(*this); //This uses TestB. TestB cannot be prototyped. 
          //etc etc
      }
  };
  </code></pre>
  
  <p>I want to know, is it possible to prototype initialiser list based constructors?</p>
  
  <p>If not, what is the alternative? Bear in mind references have to be immediately initialised.</p>