gpt4 book ai didi

C++ 获取错误 C2440

转载 作者:太空狗 更新时间:2023-10-29 20:03:50 26 4
gpt4 key购买 nike

您好,我正在使用 Visual Studio c++ 2010

这段代码(取自 C 语言代码)有问题:

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;
}

我有这些错误:

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 *'

我有点新手。您能否为此提供一个实际适用于 C++ 的转换代码。

谢谢

最佳答案

由于您使用 C++ 进行编程,因此不应使用旧的 C 函数 malloc。相反,我建议您使用 C++ new 构造:

MEMBLOCK *mb = new MEMBLOCK;

关于C++ 获取错误 C2440,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25186563/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com