title: struct forward declaration fails compile
body: <p>I have the following code, but the compiler says sender_wrapper is undefined, even though I forward declared it. Can I not do a forward declare of a struct? (compiled with VS2003)</p>
  
  <pre><code>struct send_wrapper;
  
  struct IPSend
  {
      IPSend::IPSend(const send_wrapper&amp; sender) : _sender(sender) {}
  
      void IPSend::operator()(const std::string&amp; msg)
      {           
          if (!msg.empty())
              _sender.send(msg);
      }
  
      send_wrapper _sender; //error C2079: 'IPSend::_sender' uses undefined struct 'send_wrapper'
  
  };
  
  struct send_wrapper 
  {
  std::auto_ptr&lt;tcp_server&gt; server;
  
  };
  </code></pre>