制作boost :: ptr_vector容器类push_back函数

时间:2013-10-19 10:38:08

标签: c++ boost containers ptr-vector

我只是围绕容器类和模板,我正在努力解决如何正确实现它们......我的所有问题都非常相似,所以一旦我对它进行了排序,我想我应该没问题。

这是我试图实现的push_back成员函数的代码:

//data is of type boost::ptr_vector<T>

template <class T>
void P_VContainer<T>::push_back(T* item)
{
    data.push_back(item);
}

这是在p_vcontainer.h中定义的方式:

void push_back(T* item);

这是我从编译器获得的错误:

main.cpp:(.text+0x89f): undefined reference to `P_VContainer<Customer>::push_back(Customer*)'

这就是我在main中实现它的方式:

P_VContainer<Customer> myvector;

Customer *a = new Customer("C004", "Testy McTestington");

myvector.push_back(a);

关于我做错什么的任何想法?

1 个答案:

答案 0 :(得分:1)

不要将模板划分为声明和实现。在头文件中实现它们。