title: C++ nested classes referencing each other
body: <p>In C# I can have two nested classes refer to each other without problem:</p>
  
  <pre><code>public class CFGFile
  {
    class Setting
    {
      public Entry Ent;
    }
  
    class Entry
    {
      public Setting Setg;
    }
  }
  </code></pre>
  
  <p>However, trying the same thing in C++ causes problems:</p>
  
  <pre><code>class CFGFile
  {
    class Setting;
  
    class Entry
    {
      Setting Setg;
    };
  
    class Setting
    {
      Entry Ent;
    ]
  };
  </code></pre>
  
  <p>I get </p>
  
  <blockquote>
    <p>"incomplete type not allowed"</p>
  </blockquote>
  
  <p>at the Setg variable definition, and error </p>
  
  <blockquote>
    <p>"C2079: 'CFGFile::Entry::Setg' uses undefined class
    'CFGFile::Setting'"</p>
  </blockquote>
  
  <p>when compiling.</p>
  
  <p>I'm using Visual Studio 2017.</p>
  
  <p>Is cross referring not possible in nested classes in C++?</p>