Hello I'm using Visual Studio c++ 2010
I'm having a problem with this code ( it's taken from C language code ) :
MEMBLOCK* create_memblock (HANDLE hProc, MEMORY_BASIC_INFORMATION *meminfo)
{
MEMBLOCK *mb = malloc(sizeof(MEMBLOCK));
if (mb)
{
mb->hProc = hProc;
mb->addr = meminfo->BaseAddress;
mb->size = meminfo->RegionSize;
mb->buffer = malloc(meminfo->RegionSize);
mb->next = NULL;
}
return mb;
}
I'm having these errors :
error C2440: 'initializing' : cannot convert from 'void *' to 'MEMBLOCK *' error C2440: '=' : cannot convert from 'PVOID' to 'unsigned char *' error C2440: '=' : cannot convert from 'void *' to 'unsigned char *'
I'm kinda newbie. Can you please provide a converted code for this that actually works with c++.
Thank you
void*you need to explicitly cast toMEMBLOCK*. Like thisMEMBLOCK *mb = (MEMBLOCK*)malloc(sizeof(MEMBLOCK));or betterMEMBLOCK *mb = static_cast<MEMBLOCK*>(malloc(sizeof(MEMBLOCK)));- NetVipeCMEMBLOCK *mb = (MEMBLOCK*)malloc(sizeof(MEMBLOCK));or/TCoption - BLUEPIXY