У меня есть следующий код, но компилятор говорит, что sender_wrapper не определено, хотя я заранее объявил его. Могу ли я не сделать форвардное объявление структуры? (скомпилировано с помощью VS2003)
struct send_wrapper;
struct IPSend
{
IPSend::IPSend(const send_wrapper& sender) : _sender(sender) {}
void IPSend::operator()(const std::string& 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<tcp_server> server;
};