2

こんにちは私はビジュアルC++でプログラムを作成しましたが、何らかの理由で、この同じプログラムをTurbo C++3.0で実行/コンパイルする必要があります。

なんとかソースからコンパイラを入手できましたが、コードをコンパイルしようとすると多くのエラーが発生します。「#includestdafx.h」をコメントアウトして、IDEのディレクトリとライブラリに適切なパスを設定しました。これらは私にエラーを与える行です

#include <list> //Error unable to open include file list

using namespace std; //Declaration syntax error

typedef list<int> itemist; // , expected

bool setPlayerChar(char key); // Type name expected // Declaration missing ;

void generateItemList(piece market[9], itemlist &ilist) // ) expected

bool exit = false; // Undefined symbol 'bool' // statement missing ;
4

4 に答える 4

5

Turbo C++ 3.0 が数年前に最先端だったとき、今日の C++ の多くは存在しませんでした。STL なし、 なし<list>、ネームスペースなし、型さえありませんbool(通常、マクロ 'BOOL' によってエミュレートされていました)。int私の記憶が正しければ、それはただの 16 ビット コンパイラであり、ポインター演算で追加の「楽しさ」を与えてくれます。

移植おめでとうございます;-)

于 2011-09-07T19:20:27.120 に答える
0

DOS 用にプログラムをビルドする必要がある場合は、Borland C++ 5.02 を試すことができます。これは、DOS をサポートした最後の Borland のコンパイラであり、いくつかの標準化前の STL が含まれていました。

次のようなコード:

#include <list>

using namespace std;

typedef list<int> itemist;

それでコンパイルできるはずです。

于 2011-09-08T14:21:15.613 に答える
0

アプリケーションを DOS で実行する必要があり、マシンが少なくとも 80386 である場合は、DJGPPを使用することをお勧めします。最近の GCC を提供します。その後、アプリケーションは x86 保護モードで実行されます。

于 2011-09-08T05:14:09.367 に答える
0

これらの醜いハックを試すことができます:

/* Check if the compiler is Borland Turbo C++ 3.0 or earlier */
#ifdef __BORLANDC__
#if (__BORLANDC__ <= 0x400)

#include <list.h>

typedef int bool;
#define true  (1)
#define false (0)

#else

#include <list>

#endif

などですが、代わりに、GCC や MSVC などの最新のコンパイラを使用することを検討してください。

于 2011-09-07T20:23:43.293 に答える