What I have is the following:
class A{
public:
   virtual void OnStart() = 0;
   void GameLoop(){
      OnStart();
      //Do other stuff
   }
};
class B : public A{
   void OnStart() override{
      //Do Something
   }
};
Now I have the problem that it either doesn't call OnStart at all or it gives me an error. I have also tried this->OnStart() but none of the things I have tried worked.
 
    