在我的 Windows 机器上,我没有收到任何警告/错误,但在 Linux 机器上我收到了(我不记得它到底是什么)。我只在程序结束时调用析构函数。
这是一个示例。
标题
template<class T>
class CustomArray {
T *someArray;
int numElements;
CustomArray<T>();
~CustomArray<T>();
}
//destructor
template<class T>
CustomArray<T>::~CustomArray() {
for(int k=0; k<numElements;k++)
someArray[i].~T();
delete [] someArray;
}
主要的
int main() {
CustomArray<int> myArray;
//initialize myArray
myArray.~CustomArray();
return 0;
}
析构函数有问题吗?
我很感激帮助。