我正在练习 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了吗?非常感谢。