我正在使用Fedora下的g++编译一个openGL项目,其中包含以下代码:
textureImage = (GLubyte**)malloc(sizeof(GLubyte*)*RESOURCE_LENGTH);
编译时,g++错误显示:
error: ‘malloc’ was not declared in this scope
添加#include <cstdlib>
并不能修复错误。
我的g++版本是:g++ (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2)
发布于 2011-08-10 15:53:25
您应该在C++代码中使用new
,而不是malloc
,这样它就变成了new GLubyte*[RESOURCE_LENGTH]
。当您使用#include <cstdlib>
时,它会将malloc
加载到名称空间std
中,因此请参考std::malloc
(或者改为#include <stdlib.h>
)。
发布于 2011-08-10 16:02:46
您需要一个额外的include。将<stdlib.h>
添加到您的包含列表中。
https://stackoverflow.com/questions/7007468
复制相似问题