我有一个类是模板,使用参数:template <class X>
我可以将此类模板为std::pair < W, Z>
类型吗?我收到一个未解决的外部符号错误,并试图找出原因。
答案 0 :(得分:3)
将一对传递到模板中的一个小例子。
#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 ::对并将其保存在向量中的模板类。将使用make_pair制作的对插入到该向量中。
请注意,对于较旧的C ++编译器,您需要在两个右V形编辑器之间添加一个空格,以防止它被视为右移运算符。