title: no default constructor exists for class x (inheritance) C++
body: <p>I have the following three headers:</p>
  
  <p><strong>IBaseStates.h</strong></p>
  
  <pre><code>class IBaseStates
  {
  public:
      enum STATE;
  
      virtual void Update( STATE state ) = 0;
  };
  </code></pre>
  
  <p><strong>PlayerStates.h</strong></p>
  
  <pre><code>#pragma once
  
  #include "IBaseStates.h"
  #include "Player.h"
  
  class PlayerStates : public IBaseStates, public Player
  {
  public:
      enum STATE {
          FLYING,
          FALLING
      };
  
      int textureAmount;
  
      PlayerStates();
      ~PlayerStates( );
  
      void Update( STATE state );
  };
  </code></pre>
  
  <p><strong>Player.h</strong></p>
  
  <pre><code>#pragma once
  
  #include "StructVertex.h"
  #include "SquareVertices.h"
  #include "WICTextureLoader.h"
  
  using namespace Microsoft::WRL;
  using namespace DirectX;
  //using namespace DirectX;
  
  class Player : public SquareVertices
  {
  public:
      Player( ComPtr&lt;ID3D11Device1&gt; d3dDevice );
      ~Player();
  
      void Initialize();
      void Update();
  
      float x;
      float y;
      float z;
      float rotation;
      float velocity;
  
      ComPtr&lt;ID3D11Buffer&gt; vertexbuffer;
      ComPtr&lt;ID3D11Buffer&gt; indexbuffer;
      ComPtr&lt;ID3D11ShaderResourceView&gt; texture[3];
  protected:
      const ComPtr&lt;ID3D11Device1&gt; d3dDevice;
  };
  </code></pre>
  
  <p>Why when I define a constructor for my PlayerStates class in my PlayerStates.cpp file do I get </p>
  
  <pre><code>no default constructor exists for class Player
  </code></pre>
  
  <p><strong>PlayerStates.cpp</strong></p>
  
  <pre><code>#include "pch.h"
  #include "PlayerStates.h"
  
  PlayerStates::PlayerStates()
  : 
      textureAmount( 3 )
  {
  }
  </code></pre>