如何解决对通用类使用字符串时无效的指针
所以这是针对我的数据结构类的,我正在努力理解为什么会出现错误:无效指针:0x00000000023ce048 ***。仅当我使用字符串定义通用类时,才会发生这种情况:NSequence<string> v3(10);
应该注意的是,使用int或其他类也可以。但是,只要写以下行:NSequence<string> v3(10);
,我就会得到指针错误,也不知道为什么?
更新: 我发现实际上是我的析构函数类引起了错误。但是,我现在不知道为什么这会导致字符串错误?
template<typename T>
NSequence<T>::~NSequence()
{
delete items;
}
这是我班级的定义:
#include <algorithm>
#include <iostream>
#include <utility>
/* XXX: Implement all member functions for NSequence in NSequence.hpp */
template <typename T>
class NSequence
{
public:
explicit NSequence( int initSize = 0 );
private:
int numOfItems;
int totalCapacity;
T * items;
};
#include "NSequence.hpp" // do not change this line
#endif
这是我的构造函数:
template<typename T>
NSequence<T>::NSequence(int initSize)
{
if(initSize==0)
initSize=1;
numOfItems = initSize;
totalCapacity = initSize;
items = new T[totalCapacity];
}
任何建议将不胜感激!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。