title: Compilation Error : expected ‘)’ before ‘&’ token
body: <p>Which is something I really don't understand: I see nothing which actually makes this error prone. </p>
  
  <p>Here's the class:</p>
  
  <pre><code>namespace Engine_Main {
  
  class SceneManager
  {
  public:
      SceneManager(Engine&amp; engine);
      void createScene();
  private:
      Ogre::SceneManager * mSceneMgr;
  };
  
  
  }
  </code></pre>
  
  <p>Along with a few other classes for reference:</p>
  
  <pre><code>#ifndef ENGINE_H
  #define ENGINE_H
  
  #include &lt;OGRE/OgreSceneManager.h&gt;
  #include &lt;OGRE/OgreRoot.h&gt;
  #include "scenemanager.h"
  #include "playerinput.h"
  
  namespace Engine_Main {
  
  class Engine
  {
  public:
      Engine();
      ~Engine();
  
      void initGameLoop();
  
      PlayerInput * getPlayerInput();
      PlayerMovement * getPlayerMovement();
      Ogre::Root * getOgreRoot();
  
  private:
  
      //fields
      PlayerInput * mPInput;
      PlayerMovement * mPMovement;
      Ogre::Root * mRoot;
      //methods
      void registerInput();
      void createScene();
      void renderPosition();
  };
  
  }
  
  #endif // ENGINE_H
  
  #include "engine.h"
  
  
  namespace Engine_Main {
  
      /**********/
      /* PUBLIC */
      /**********/
  
      PlayerMovement * Engine::getPlayerMovement() {
          return mPMovement;
      }
  
      PlayerInput * Engine::getPlayerInput() {
          return mPInput;
      }
  
      Engine::Engine() {
          mPInput = new PlayerInput();
          mPMovement = new PlayerMovement();
          mRoot = new Ogre::Root("cfg/plugins.cfg", "cfg/engine.cfg", "cfg/engine.log");
      }
  
      Engine::~Engine(){
          if (mPInput) {
              delete mPInput;
          }
  
          if (mRoot) {
              delete mRoot;
          }
      }
  
      void Engine::createScene() {
  
      }
  
  }
  </code></pre>
  
  <p><strong>My question</strong></p>
  
  <p>What is it that I'm doing wrong?</p>