title: Why the void pointer is not allowed be returned by virtual methods?
body: <p>Recently I tried to compile this class</p>
  
  <pre><code>class Foo{
  public: void virtual doSomething()=0;
  void* virtual getBar()=0;//error
  protected: Foo(){};
  };
  </code></pre>
  
  <p>But compiler doesn't compile, and says <code>"ISO C++ forbids declaration of ‘getBar’ with no type [-fpermissive]"</code>
  Compiler: gnu 4.8</p>