我目前得到一个"0xC0000005:访问冲突读取位置0xcccccce0".错误,我已经尝试过诊断问题...我认为问题出现在我已经定义的3规则发挥作用并指向我这里.
size_type size() const
{ // return length of sequence
return (this->_Mysize); <---------------------this line
}
Run Code Online (Sandbox Code Playgroud)
我实际上不确定是否有任何问题,我已经连续几天都在研究这个问题了.
以下是我的三条规则
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];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40891 次 |
| 最近记录: |