0
#include <iostream>
using namespace std;
template <class T>
class myset{
private:
T *pArray;
int size;
public:
myset<T>(){
pArray = new T[0];
int size =0;
}
void addItem(T iVal){
size++;
T* newArray = new T [size];// allocate bigger array //
for(int i=0; i< size-1; i++){
newArray[i] = pArray[i]; // IT IS CRASHING BECAUSE OF THIS LINE
}
pArray[size -1] = iVal;
pArray = NULL;
pArray = newArray;
}
};
int main()
{
myset<int> a;
myset<double> d;
a.addItem(3);
a.addItem(5);
}
我想要做的是製作任何模板的動態數組。在我的add函數中,我試圖將我的舊數組複製到我的新數組中。誰能告訴我爲什麼它不起作用?爲什麼我的程序在這一行中崩潰?
你爲什麼在ctor中隱藏你的類的'size var? –
你使用調試器時發現了什麼? –
*我想要做的是製作任何模板的動態數組* - 剛剛使用'std :: vector'有什麼問題? –
PaulMcKenzie