0

我有一个.cc同时使用iostream和的文件malloc。我怎样才能编译它?使用g++,它说

 error: 'malloc' was not declared in this scope

使用gcc,它说

 fatal error: iostream: No such file or directory

源代码位于http://sequitur.info/sequitur_simple.cc

更新

我更改mallocnew并更改freedelete. 我仍然有很多错误。例如

 /usr/include/c++/4.6/new:103:14: error:   initializing argument 2 of âvoid* operator new(std::size_t, void*)â [-fpermissive]
4

3 回答 3

5

包括<stdlib.h>或包含<cstdlib>并更改mallocstd::malloc- 编译g++。包含<cstdlib>是新 C++ 代码的首选方式,“name.h”样式在 C++ 中已弃用。

虽然这会解决您的问题,但迁移到new/delete可能是一个更好的主意,以便更一致地使用 C++。

于 2013-02-22T06:16:45.430 回答
0

您是否尝试过包括

#include <stdio.h>      
#include <stdlib.h>   

并使用 g++?

于 2013-02-22T06:17:31.770 回答
0

在 C++ 代码中使用 new 和 delete。不要混用 new 和 malloc。从您发布的代码来看,AFAIK 没有任何理由您不能使用 new 和 delete

于 2013-02-22T06:20:53.153 回答