std::p空气作为模板<class>参数?C++

std::pair as a template<class> argument? C++

本文关键字:class gt 参数 C++ lt 空气 std      更新时间:2023-10-16

我有一个模板类,使用参数:template <class X>

我可以将这个类模板为std::pair < W, Z>类型吗?我得到一个无法解决的外部符号错误,并试图追踪原因。

传递pair到模板的一个小例子。

#include <iostream>
#include <vector>
template <typename T>
class C {
    public:
        void add(const T& val) { m_vec.push_back(val); }
    private:
        std::vector<T> m_vec;
};
int main()
{
    C<std::pair<int, char> > pairC;
    pairC.add(std::make_pair(5, 2));
}

将实例化一个接受std::pair并将其保存在vector容器中的模板类。Add将用make_pair构造的一对插入到该向量中。