0

と の両方を使用する.ccファイルがあります。どうすればコンパイルできますか?を使用して、それは言いますiostreammallocg++

 error: 'malloc' was not declared in this scope

を使用してgcc、それは言います

 fatal error: iostream: No such file or directory

ソースコードはhttp://sequitur.info/sequitur_simple.ccにあります。

アップデート

に乗り換えmallocnewに乗り換えfreeましたdelete。それでも私は多くのエラーを受け取ります。例えば

 /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>に変更mallocします。std::mallocでコンパイルしg++ます。<cstdlib>これは、新しいC ++コードに推奨される方法であり、「 name.h 」スタイルはC++では非推奨になっています。

これで問題は解決しますが、より一貫性のあるC ++にするために、 /に移行することをお勧めします。newdelete

于 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 を混在させないでください。投稿したコードから、new と delete を使用できない理由はありません。

于 2013-02-22T06:20:53.153 に答える