构建混合的c/c ++代码

mah*_*ood 0 c c++

我有一个.cc文件,使用iostreammalloc.我怎么编译呢?使用g++,它说

 error: 'malloc' was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

使用gcc,它说

 fatal error: iostream: No such file or directory
Run Code Online (Sandbox Code Playgroud)

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

UPDATE

我改变mallocnew并且去freedelete.我仍然遇到很多错误.例如

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

Kar*_*k T 5

无论是包括<stdlib.h>或包括<cstdlib>,改变mallocstd::malloc-用编译g++.包括<cstdlib>是新C++代码的首选方式,"name.h"样式在C++中已弃用.

虽然这可以解决您的问题,但是迁移到new/delete可能是更好的想法,以便更加一致地使用C++.