标头中的C ++模板类

时间:2017-05-26 20:47:05

标签: c++ class templates header

这是我的第一个问题所以我希望它不会是超级愚蠢的。 我阅读了关于这个主题的所有相关帖子,但我仍然没有设法应用于我的情况。 我做了简单的函数 sortVectByName ,它对类播放器的向量进行排序,当代码是“all in one”时工作得很好,但是当我尝试在sort.h / sort.cpp中声明/定义它时语法看起来不错,但编译器给了我这个错误:

error LNK2001: unresolved external symbol "int __cdecl...  or LNK2019.  

并且它唯一显示为有问题的地方是我在主代码中实际使用它的地方(不在h / cpp文件中)。 所以我想我不知道如何在涉及模板类时这样做,因为我在.h / .cpp文件中有更多的功能,它们可以很好地工作。

struct sortByName
{
    template <class T>
    bool operator () (T m1, T m2) { return m1.getName() < m2.getName(); }
};


void sortVectByName(vector<player>& obj)
{
    sort(obj.begin(), obj.end(), sortByName());
};

0 个答案:

没有答案