【发布时间】:2012-07-11 03:31:41
【问题描述】:
我正在练习 g++ 来编译我的代码,但错误“malloc 未在此范围内声明”一开始就不断出现。我与此错误相关的代码如下所示:
/*------Basic.h--------*/
using namespace std;
/*------A.h------------*/
class A{
private:
double* _data;
public:
A(int N);
}
/*------A.cpp----------*/
A::A(int N){
_data=(double*)malloc(N*sizeof(double));
}
当我使用 Microsoft Virtual Stdio 时,这个问题从未出现过。因此,我尝试添加一行
#include <stdlib.h>
到 Basic.h,错误消失。现在我想知道为什么会发生这种事情。 “命名空间std”不是已经包含stdlib.h了吗?非常感谢。
【问题讨论】:
-
密切相关(几乎重复)stackoverflow.com/questions/3278864/…
-
也在这里:stackoverflow.com/questions/5115556/…。我将投票关闭作为重复。
-
避免在标题中放置 using 指令。
-
我一直在搜索有关“malloc”而不是“namespace std”的问题,所以我没有找到任何密切相关的问题。感谢您的链接,jogojapan。
标签: c++ namespaces g++ malloc