Code:
int CChristianLifeMinistryEditorDlg::CompareDate(const void* pArg1, const void* pArg2)
{
const STUDENT_ASSIGN_HIST_S* psAssign1 = *((STUDENT_ASSIGN_HIST_S * *)pArg1);
const STUDENT_ASSIGN_HIST_S* psAssign2 = *((STUDENT_ASSIGN_HIST_S * *)pArg2);
int iGreater = 0; // assume they are the same
if (psAssign1->datMeeting < psAssign2->datMeeting)
iGreater = -1;
else if (psAssign1->datMeeting > psAssign2->datMeeting)
iGreater = 1;
return iGreater;
}
I am struggling to work out how to modernize the C-style casts:
const STUDENT_ASSIGN_HIST_S* psAssign1 = *((STUDENT_ASSIGN_HIST_S * *)pArg1);
const STUDENT_ASSIGN_HIST_S* psAssign2 = *((STUDENT_ASSIGN_HIST_S * *)pArg2);
I tried:
const STUDENT_ASSIGN_HIST_S* psAssign1 = *(static_cast<STUDENT_ASSIGN_HIST_S * *>(pArg1));
const STUDENT_ASSIGN_HIST_S* psAssign1 = *(reinterpret_cast<STUDENT_ASSIGN_HIST_S * *>(pArg1));
And it both instances VS told me it was an invalid cast.