C++ 에서 동적메모리 할당 처리 구문관련 질문입니다.

geniefix의 이미지

안녕하세요.

단순히 아래 구문만 보았을때 IF문에서 "Can't allocate memory." 라는 오류메시지가 출력될 수 있는 경우는 어떤 경우인가요?

g_stAList.lppA = (A **) calloc(g_stAList.nCount, sizeof(A *));
if( g_stAList.lppA==NULL ){
g_objMessageLog.AddMessage(ML_MODE_LOG, "Can't allocate memory.");
PQfinish(lpConn);
return(-1);
}

답변 감사합니다.

qiiiiiiiip의 이미지

1. 실제로 메모리가 부족해서 alloc이 fail 난 경우.

2. g_stAList.nCount 가 초기화되지 않은 값 또는 0보다 같거나 작은 값.

대부분의 경우 2번..