title: Impossible expected class-name before ‘{’ token error to solve
body: <p>It's a well known issue this damn error </p>
  
  <p>expected class-name before ‘{’ token</p>
  
  <p>Well, despite my hard working and googling, I could not solve this error. Sorry. This is my last shore.</p>
  
  <p>In ui.cpp of a project of mine I do:</p>
  
  <pre><code>#include "wfqueue_proxy_factory.hpp"
  </code></pre>
  
  <p>OK, this raises this stupid error in my compiler:</p>
  
  <blockquote>
    <p>In file included from
    wfqueue_proxy_factory.hpp:29,from
    ui.cpp:28:
    wfqueue_manager_proxy.hpp:42: error:
    expected class-name before ‘{’ token</p>
  </blockquote>
  
  <p>There are three classes in my project:
  First</p>
  
  <pre><code>// wfqueue_proxy_factory.hpp
  #ifndef _WFQUEUE_PROXY_FACTORY_HPP
  #define _WFQUEUE_PROXY_FACTORY_HPP
  #include "wfqueue_manager_proxy.hpp"
  // ...
  class WFQueueProxyFactory {
  //...
  };
  #endif
  </code></pre>
  
  <p>Second</p>
  
  <pre><code>// wfqueue_manager_proxy.hpp
  #ifndef _WFQUEUE_MANAGER_PROXY_HPP
  #define _WFQUEUE_MANAGER_PROXY_HPP
  #include "workflow.hpp"
  #include "wfqueue.hpp"
  // ...
  class WFQueueManagerProxy : public WFQueue { // This is the problem (line 42)
  //...
  };
  #endif
  </code></pre>
  
  <p>Third</p>
  
  <pre><code>// wfqueue.hpp
  #ifndef _WFQUEUE_HPP
  #define _WFQUEUE_HPP
  #include "workflow.hpp"
  class WFQueue {
  // ...
  };
  #endif
  </code></pre>
  
  <p>PLEASE PLEASE PLEASE note that I use ; after } of every class, I checked out EVERY header in my project looking for this problem and didn't find any class not followed by ; after its closing bracket. This is valid for workflow.hpp which is a simple class (not deriving from any class, just a plain class).</p>
  
  <p>WFQueue is some sort if interface, I use this pattern with other classes too and they work. WFQueue contains some virtual pure methods... problem should not be here anyway.... I suppose this because I use another "interface" class with other classes and they work fine.</p>
  
  <p>This error disappears if I do this:</p>
  
  <pre><code>// wfqueue_manager_proxy.hpp
  #ifndef _WFQUEUE_MANAGER_PROXY_HPP
  #define _WFQUEUE_MANAGER_PROXY_HPP
  #include "workflow.hpp"
  #include "wfqueue.hpp"
  // ...
  class WFQueueManagerProxy {
  //...
  };
  #endif
  </code></pre>
  
  <p>Don't really know how to solve this problem... please help me.
  Thank you</p>