У меня есть следующий код, но компилятор говорит, что sender_wrapper имеет значение undefined, хотя я его просил объявить. Могу ли я не объявлять о начале структуры? (скомпилировано с 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;
};