将内联模板类和函数移动到单独的文件中

时间:2014-06-05 17:56:14

标签: c++ function templates include

我编写并实现了一个使用模板类的内联函数。 以前,在我的main.cpp文件中

template<class Client>
void FillContact(ifstream &in_stream, Client &TempMarket)
{blah blah blah
}

那里工作正常。我现在试图将它移动到一个单独的.h和.cpp文件,因为它的长度,我想在其他函数中使用它。即使我#include .h文件,我也会在移动后得到错误的未定义引用。当我将函数编辑为不是模板类时,它编译并运行正常。

在我的&#34; Clients.h&#34;文件

template<class Client>
void FillTrucker(ifstream &in_stream, Client &TempMarket);

在我的&#34; Clients.cpp&#34;文件

template<class Client>
void FillContact(ifstream &in_stream, Client &TempMarket)
{
blah blah blah}

当我改变&#34; Clients.h&#34;文件

//template<class Client>
void FillTrucker(ifstream &in_stream, Trucker &TempMarket);

在Clients.H中定义类型Trucker,它编译得很好。我以前从未在main的单独文件中实现过模板类,我认为这让我很头疼。有关实施的建议吗?非常感谢。

0 个答案:

没有答案