小编Seb*_*rds的帖子

使用模板返回值.如何处理无效返回?

我有用于存储回调函数的结构,如下所示:

template<class T>
struct CommandGlobal : CommandBase
{
    typedef boost::function<T ()> Command;
    Command comm;

    virtual T Execute() const
    {
        if(comm)
            return comm();
        return NULL;
    }
};
Run Code Online (Sandbox Code Playgroud)

看起来它应该工作正常,除非T是无效的,因为Execute函数想要返回一个值..

这个问题的最佳解决方案是什么?

谢谢!

c++ templates callback

19
推荐指数
1
解决办法
8092
查看次数

标签 统计

c++ ×1

callback ×1

templates ×1