Borland c++ compiles the following code but visual c++ 7.1 and above complains with
d:\Documents and Settings\Administrator\My Documents\Visual Studio\Projects\PEView\PEView\PEView.cpp(266) : error C2440: 'initializing' : cannot convert from 'int (__thiscall PEInfo::* )(void) const' to 'int (__thiscall PEInfo::* )(void)'
. I don't understand arrays of function pointers too well or c++ for that matter so I can't figure out what might be the problem. Any help would be appreciated.
Code:
int (PEInfo::*headerFunctionList[])(void) =
{
&PEInfo::GetSignature, &PEInfo::GetMachine,
&PEInfo::GetNumberOfSections, &PEInfo::GetTimeDateStamp,
&PEInfo::GetSymbolsPointer,&PEInfo::GetNumberOfSymbols,
&PEInfo::GetSizeOfOptionalHeader,&PEInfo::GetCharacteristics,
&PEInfo::GetMagic,&PEInfo::GetLinkerVersion,&PEInfo::GetSizeOfCode,
&PEInfo::GetSizeOfInitializedData, &PEInfo::GetSizeOfUninitializedData ,
&PEInfo::GetAddressOfEntryPoint, &PEInfo::GetBaseOfCode,
&PEInfo::GetBaseOfData, &PEInfo::GetImageBase,
&PEInfo::GetSectionAlignment, &PEInfo::GetFileAlignment,
&PEInfo::GetOperatingSystemVersion, &PEInfo::GetImageVersion,
&PEInfo::GetSubsystemVersion,&PEInfo::GetWin32VersionValue ,
&PEInfo::GetSizeOfImage,&PEInfo::GetSizeOfHeaders,
&PEInfo::GetCheckSum, &PEInfo::GetSubsystem ,
&PEInfo::GetDLLCharacteristics, &PEInfo::GetSizeOfStackReserve ,
&PEInfo::GetSizeOfStackCommit, &PEInfo::GetSizeOfHeapReserve ,
&PEInfo::GetSizeOfHeapCommit, &PEInfo::GetLoaderFlags ,
&PEInfo::GetNumberOfRVAsAndSizes
};