title: pimpl STL and DLL
body: <pre><code>class __declspec(dllexport) Foo
  {
  private:
      struct Impl;
      Impl *pimpl;
  public:
      Foo();
      virtual ~Foo();
      Impl &amp;GetVector();
  };
  
  Foo::Impl
  {
  std::vector&lt;Bar&gt; m_vec;
  }
  
  Foo::Foo() : pimpl( new Impl )
  {
  }
  
  Foo::~Foo()
  {
      delete pimpl;
  }
  
  Impl &amp;Foo::GetVector()
  {
      return *pimpl;
  }
  </code></pre>
  
  <p>I am getting compilation error with MSVC 2010:</p>
  
  <blockquote>
    <p>missing ';' before '&amp;'</p>
  </blockquote>
  
  <p>Is there a simple way to fix this?</p>
  
  <p>Thank you.</p>