首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: ISO C++禁止声明没有类型的“ref”

错误: ISO C++禁止声明没有类型的“ref”
EN

Stack Overflow用户
提问于 2013-04-04 21:50:42
回答 1查看 1.8K关注 0票数 0

我已经得到了下面的error.The代码:我已经在我的code.Now中集成了vmime库,我需要在这里实现具有特定超时条目30秒的超时处理程序,按照要求实现这部分代码。

代码语言:javascript
复制
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,它给出了新的错误,

代码语言:javascript
复制
Svr.h:158: error: 'timeoutHandler' was not declared in this scope
Svr.h:158: error: template argument 1 is invalid

有谁能请help.Thanks

编辑:

我在my.C文件中调用这部分代码,如下所示

代码语言:javascript
复制
tr->setTimeoutHandlerFactory(vmime::create <myTimeoutHandlerFactory>());
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-04 21:56:32

看起来您没有一个名为timeoutHandler的类型,但是您确实有一个名为myTimeoutHandler的类型。也许你的意思是:

代码语言:javascript
复制
vmime::ref<myTimeoutHandler>

或者,您可能希望在vmime::net名称空间中定义timeoutHandler

代码语言:javascript
复制
vmime::ref<vmime::net::timeoutHandler>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15813209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档