-1

我试试

template<class T>
struct getData
{
    boost::shared_ptr<T> operator()()
    {
        return boost::shared_ptr<T>(new T());
    }
};

struct getVector : public getData<std::vector<int>>{};

我想()通过继承指定返回......但它似乎没有返回所需的类型。我做错了什么?

4

1 回答 1

2

您不需要返回类型吗

boost::shared_ptr<T> operator()()
^^^^^^^^^^^^^^^^^^^^
{
    return boost::shared_ptr<T>(new T());
}
于 2013-01-21T08:38:34.787 回答