我目前收到“0xC0000005:访问冲突读取位置 0xcccccce0”。错误,我已尝试诊断问题...我认为当我定义的 3 规则起作用并将我指向此处时,问题就出现了。
size_type size() const
{ // return length of sequence
return (this->_Mysize); <---------------------this line
}
我实际上不确定是否有任何问题,我已经连续几天一直在思考这个问题。
以下是我的三法则
ArrayStorage::ArrayStorage(){
myArray = new string[7079];
}
ArrayStorage::~ArrayStorage(){
delete[] _data;
delete[] myArray;
}
ArrayStorage::ArrayStorage(const ArrayStorage &A) {
_size = A.size();
_data = new string [size()];
for (int i = 0; i < size(); ++i)
_data[i] = A[i];
}
ArrayStorage& ArrayStorage::operator=(const ArrayStorage &A){
if (this != &A) {
delete [] _data;
_size = A.size();
_data = new string [A.size()];
for (int i = 0; i < size(); ++i) {
_data[i] = A[i];
}
}
return *this;
}
const string& ArrayStorage::operator[](int i) const{
assert((i >= 0) && (i < size()));
return _data[i];
}
string& ArrayStorage::operator[](int i){
assert((i >= 0) && (i < size()));
return _data[i];
}