如果我不包含 HeapAlloc,我的程序会出错。我无法理解到底发生了什么。
int iIndex=0;
enum EDataType
{
kINT,
kFLOAT,
kUINT
};
typedef struct logstr
{
EDataType sData_Type;
string sComment;
bool bStatus;
float fDump_Value;
int iDump_Value;
UINT32 uDump_Value;
}slog,*StrLog;
Str_Dump[iIndex]->sData_Type=EDataType(0);//i get a error on this line exception0xC0000005: Access violation writing in location0X00000;
但是当我包括这条线时
Str_Dump[iIndex]=(StrLog)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(slog));
然后再次运行程序运行成功。
那条线到底在做什么?我无法理解。
我已宣布 strdump 为
StrLog Str_Dump[100];