我已经得到了下面的error.The代码:我已经在我的code.Now中集成了vmime库,我需要在这里实现具有特定超时条目30秒的超时处理程序,按照要求实现这部分代码。
class myTimeoutHandler : public vmime :: net :: timeoutHandler {
public:
bool isTimeOut()
{
return(getTime()>=m_last + 30);
}
void resetTimeOut()
{
m_last = getTime();
}
bool handleTimeOut()
{
logMsg(DEBUG,2,"Connection Timed Out!");
return true;
}
private:
const unsigned int getTime() const
{
return vmime::platform::getHandler()->getUnixTime();
}
unsigned int m_last;
};
class myTimeoutHandlerFactory : public vmime::net::timeoutHandlerFactory
{
public:
ref <timeoutHandler> create ()
{
return vmime::create <myTimeoutHandler>();
}
};我试着用vmime::ref代替ref,它给出了新的错误,
Svr.h:158: error: 'timeoutHandler' was not declared in this scope
Svr.h:158: error: template argument 1 is invalid有谁能请help.Thanks
编辑:
我在my.C文件中调用这部分代码,如下所示
tr->setTimeoutHandlerFactory(vmime::create <myTimeoutHandlerFactory>());发布于 2013-04-04 21:56:32
看起来您没有一个名为timeoutHandler的类型,但是您确实有一个名为myTimeoutHandler的类型。也许你的意思是:
vmime::ref<myTimeoutHandler>或者,您可能希望在vmime::net名称空间中定义timeoutHandler:
vmime::ref<vmime::net::timeoutHandler>https://stackoverflow.com/questions/15813209
复制相似问题