首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >g++错误:未在此范围内声明‘malloc’

g++错误:未在此范围内声明‘malloc’
EN

Stack Overflow用户
提问于 2011-08-10 15:49:21
回答 2查看 91.4K关注 0票数 21

我正在使用Fedora下的g++编译一个openGL项目,其中包含以下代码:

代码语言:javascript
复制
textureImage = (GLubyte**)malloc(sizeof(GLubyte*)*RESOURCE_LENGTH);

编译时,g++错误显示:

代码语言:javascript
复制
error: ‘malloc’ was not declared in this scope

添加#include <cstdlib>并不能修复错误。

我的g++版本是:g++ (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-10 15:53:25

您应该在C++代码中使用new,而不是malloc,这样它就变成了new GLubyte*[RESOURCE_LENGTH]。当您使用#include <cstdlib>时,它会将malloc加载到名称空间std中,因此请参考std::malloc (或者改为#include <stdlib.h> )。

票数 32
EN

Stack Overflow用户

发布于 2011-08-10 16:02:46

您需要一个额外的include。将<stdlib.h>添加到您的包含列表中。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7007468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档