我想用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
老實說,我不知道是什麼可能會發生。將非常感謝任何人可以指出我在正確的方向...
那是整個錯誤消息嗎? – 0x499602D2
這只是錯誤消息的一部分。 –
這是唯一的錯誤。一些警告在這裏和那裏......但不相關。我正在使用'bag b1(10)''在測試程序中使用這個命令調用這個函數......然後它出現這個錯誤。 –
zorman2000