使用new来分配内存并初始化一个类的变量。新运算符导致内存损坏
这里使用的代码:
新运营商:
ptrIssuResrc = new IssuResource();
-----------------------------------
类定义:
class IssuResource
{
public:
// constructor: create a IssueResource object
IssuResource(void)
{
lastUpdatedResource = 0;
}
UINT16 lastUpdatedResource;
UINT32 conn_list[MAX_CONNECTION];
bool addConnResourceToList(UINT32);
使用ptrIssuRescr
:
class IssuResource *issuResrcPtr = NULL;
issuResrcPtr = card->ptrIssuResrc;
class IssuResource *ptrIssuResrc = card->ptrIssuResrc;
ptrIssuResrc->addConnResourceToList(connection->getLcn());
由于此代码,我正面临一些内存损坏,已经缩小。请帮我解决这里最新的错误?我怎样才能确保没有记忆coruuption?我已经将新操作符移动到代码中的另一个位置,并且它工作正常。但我仍然需要确保不会导致新问题。
TIA
您在此代码中的任何地方都没有使用'new'。 – Gorpik
访问'conn_list'时可能超出边界,发布更多相对于1conn_list1访问的代码? – billz
conn_list保持未定义状态,未指定MAX_CONNECTION。 – Arjan