我正在尝试使用 C++ 和模板编写容器类。但是,我遇到了一个我不明白的编译错误......
该变量elems
是一个私有向量,声明是:
private:
vector<DataType> elems;
向量是自定义向量。它的构造函数是:
vector::vector(int init_capacity) : vect_capacity(init_capacity), vect_size(0), vect_elems(NULL){
assert(init_capacity >= 0);
if (init_capacity > 0){
vect_elems = new Object[init_capacity];
}
}
构造函数如下所示:
template <class DataType>
bag<DataType>::bag(int init_capacity) : elems(init_capacity) {
}
此代码返回以下错误:
../src/vector.h: In instantiation of ‘vector<DataType>::vector(int) [with DataType = int]’:
../src/bag.h:33:60: required from ‘bag<DataType>::bag(int) [with DataType = int]’
../src/bag_test.cpp:6:17: required from here
老实说,我不知道会发生什么。将非常感谢任何能指出我正确方向的人......