title: compiler error expected nested-name specifier
body: <p>I am the OP for the question: <a href="https://stackoverflow.com/questions/20999263/extending-a-class">Extending a class</a> in which I received an excellent answer.  However, as I try to compile the code (reworked slightly for my project) I received the following message (line no. changed to reflect following sample code):</p>
  
  <pre><code>except.h: | 09 | expected nested-name-specifier before ‘handler_t1’
  </code></pre>
  
  <p>along with many more which seem to stem from this line.  I am brand new to C++, and my research into the answer (and the forthcoming problem) has yielded this fact: Microsoft's compiler seems to accept the code, but standards compliant ones do not.</p>
  
  <p>The code as I currently have it is as follows:</p>
  
  <pre><code>#include &lt;vector&gt;
  namespace except
  {
    // several other classes and functions which compile and work already
    // (tested and verified) have been snipped out. Entire code is over
    // 1000 lines.
  
    class Error_Handler
    {
      public:
        using handler_t1 = bool (*)(except::Logic const&amp;);
        std::vector&lt;handler_t1&gt; logic_handlers;
  
        // a lot more removed because the error has already happened ...
    }
  }
  </code></pre>
  
  <p>A read through of the code in the linked question indicates to me (with my limited knowledge) that it should all work.</p>
  
  <p>My question therefore is:  What do I need to change in this declaration/definition to enable this to compile with gcc (4.6.3 64 bit linux compiling with -std=C++0x)?</p>