C++ 如何使用模板函数传递对象?

C++ 如何使用模板函数传递对象?,c++,C++,在做作业时,被模板功能部分卡住了。我的.cpp文件中有以下main(): int main() { Pair<char> letters('a', 'd'); cout << "\nThe first letter is: " << letters.getFirst(); cout << "\nThe second letter is: " << letters.getSecond(); cout << endl; s

在做作业时,被模板功能部分卡住了。我的
.cpp
文件中有以下
main()

int main() 
{
Pair<char> letters('a', 'd');
cout << "\nThe first letter is: " << letters.getFirst();
cout << "\nThe second letter is: " << letters.getSecond();

cout << endl;

system("pause");
return 0;
}

现在,在我的VS中,它说找不到
getfirst()
getSecond()
。我应该如何在
模板
中作为
通过T?

您的
.h
文件中没有对
Pair::getFirst
/
getSecond
的实现,是吗?这是一个常见的陷阱;编译器需要“查看”编译时Pair::getFirst()
实际上是什么

当您将对象放在一起,并将各个编译单元链接在一起时,已经太晚了

因此,将模板方法的实现放在标头中


另外,不要重新发明轮子。
char letters[2]
与您的对一样有用,如果您确实需要键/值对,
std::pair
就是您想要的–它甚至是像
std::map

这样的关联容器的核心。顺便说一句,您的代码并不完整。您缺少双参数构造函数的声明。
template <class T>
class Pair
{
private:    
  T letters;
public:
  T getFirst();
  T getSecond();
};