在类成员

时间:2017-11-23 20:39:42

标签: c++ c++14

我实现了一个存储函数调用结果的类。有时函数具有void返回类型。几个问题: 1)如何在一个向量中保存不同类型的变量(???)? 2)如何理解函数返回的空白? (我不能改变这个功能)

    template<>
    decltype(auto)
    make_sum<string, string>(const string &t, const string &g)
    {
        std::cout << t << ' ' << g << std::endl;
        return;
    }

    template<class T, class G>
    decltype(auto)
    make_sum(const T &t, const G &g)
    {
        return t + g;
    }

    template<typename T>
    Res<typename std::decay<T>::type>
    make_Res(T&& t)
    {
        return{ std::forward<T>(t) };
    }

    template<typename T>
    struct Res {
        T t;
    };

    class Storage
    {
    public:
        template<class T>
        void save_res(const T &t)
        {
            rs.emplace_back(make_Res(t));
        }
    private:
        vector<Res> rs; //????
    };

0 个答案:

没有答案