-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 に答える