我有.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
更新
我将malloc
更改为new
并将free
更改为delete
。我仍然遇到很多错误。例如
/usr/include/c++/4.6/new:103:14: error: initializing argument 2 of âvoid* operator new(std::size_t, void*)â [-fpermissive]
答案 0 :(得分:5)
包括<stdlib.h>
或包含<cstdlib>
并将malloc
更改为std::malloc
- 使用g++
进行编译。对于新的C ++代码,包含<cstdlib>
是首选方式,在C ++中不推荐使用“name.h”样式。
虽然这会解决您的问题,但迁移到new
/ delete
可能是一个更好的主意,以便更加一致地使用C ++。
答案 1 :(得分:0)
您是否尝试过加入
#include <stdio.h>
#include <stdlib.h>
并使用g ++?
答案 2 :(得分:0)
在C ++代码中使用new和delete。不要混用new和malloc。从你发布的代码中,没有任何理由AFAIK你不能使用new和delete