gpt4 book ai didi

c++ - 分配内存时如何解决此错误?

转载 作者:太空狗 更新时间:2023-10-29 23:32:36 29 4
gpt4 key购买 nike

下面的代码有错误,请帮助我如何修复它。我是 C++ 的初学者。

int main(int    argc,   char    **argv)
{
image=malloc(3*1450*900*sizeof(char)); /* to ALLOCATE MEMORY required to SAVE the file */
some thing else....}

The error is: a value of type "void*" cannot be assigned to an entity of type "char*"

最佳答案

首先,在 C++ 中你应该使用 new / new[]delete / delete[]而不是 malloc() .

更好的方法是使用 std::vector : std::vector<char> image(3*1450*900);


如果你真的需要使用 malloc()在 C++ 中,您需要转换返回值( malloc() 返回 void* ):

image = (char*)malloc(3*1450*900*sizeof(char));

当然,在继续之前一定要检查返回值。

关于c++ - 分配内存时如何解决此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34832162/

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