C++ 程序报错 Access violation reading location 0xcdcdcdcf.

#include
#include
using namespace std;

class Record
{
public:
Record();
bool getvacant();
private:
bool vacant;
};

Record::Record()
{
vacant = true;
}

bool Record::getvacant()
{
return vacant;
}

class RecordManager
{
public:
RecordManager();
~RecordManager();
bool find();
private:
Record * pRecordArr;
};

RecordManager::RecordManager()
{
Record *pRecordArr = new Record[4];

}
RecordManager::~RecordManager()
{
delete [] pRecordArr;
}
bool RecordManager::find()
{
bool i;
i = pRecordArr[2].getvacant();
return i;
}

int main()
{
RecordManager *pR = new RecordManager;

pR->find();
return 0;
}

构造函数那里写错了,应该是
RecordManager::RecordManager()
{
pRecordArr = new Record[4];
}
如果按你之前写的,你开辟空间的对象并不是类的成员对象,所以下次用的时候没有空间自然就蹦啦!

构造函数那里写错了,应该是
RecordManager::RecordManager()
{
pRecordArr = new Record[4];
}
如果按你之前写的,你开辟空间的对象并不是类的成员对象,所以下次用的时候没有空间自然就蹦啦!