title: "Allocating an object of abstract class type" error although all functions have implementations
body: <p>I know questions about this error have been asked repeatedly, however none of the previous answers seem to solve my problem.</p>
  
  <p>I have a pure abstract class <code>ITile</code>:</p>
  
  <pre><code>class ITile {
  public:
      virtual ~ITile() {}
      virtual void display() = 0;
      virtual bool isWalkable() = 0;
      virtual bool isGoal() = 0;
  };
  </code></pre>
  
  <p>And three subclasses that all implement these functions like so:</p>
  
  <p><strong>Floor.h</strong></p>
  
  <pre><code>#include "ITile.h"
  
  class Floor : public ITile {
  public:
      Floor();
      virtual ~Floor();
      virtual void display() override;
      virtual bool isWalkable() override;
      virtual bool isGoal() override;
  };
  </code></pre>
  
  <p><strong>Floor.cpp</strong></p>
  
  <pre><code>#include "Floor.h"
  #include &lt;iostream&gt;
  using namespace std;
  
  Floor::Floor() {}
  Floor::~Floor() {}
  
  void Floor::display() {
     cout &lt;&lt; " ";
  }
  
  bool Floor::isWalkable() {
      return true;
  }
  
  bool Floor::isGoal() {
      return false;
  }
  </code></pre>
  
  <p>When trying to compile the whole project I get the following output:</p>
  
  <pre><code>g++ -std=c++0x -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/main.d" -MT"src/main.d" -o "src/main.o" "../src/main.cpp"
  In file included from ../src/main.cpp:1:
  In file included from ../src/board.h:1:
  In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:265:
  In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__bit_reference:15:
  In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:627:
  /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1641:31: error: allocating an object of abstract class type 'ITile'
          ::new((void*)__p) _Up(_VSTD::forward&lt;_Args&gt;(__args)...);
  [...]
  </code></pre>
  
  <p>...followed by a bunch of notes. But the problem is, I guess, the error in the last line above.</p>
  
  <p>So, what exactly are these <code>algorithm</code>, <code>memory</code> files and so on? How can I get rid of this error?</p>
  
  <p>I'm using Eclipse Luna with the C/C++ plugin on Mac OS X (Mavericks) with the Developer Command Line Tools. Any more info gladly given upon request. </p>
  
  <p>Thanks in advance!</p>