-1

私はコード::ブロックを使用しています。以前はターボ C++ 3.0 を使用していました。

次のコードを書いたところ、ちょっとありえないエラーが発生しました。

#include<iostream>
#include<conio.h>

int main()
{
    using namespace std;

    clrscr();

    char name[20];

    cout<<"\nEnter your name:";

    cin.getline(name,20);

    cout<<"\nName stored";

    clrscr();

    cout<<"\nName:"<<name;

    getch();
    return 0;

}

cout、cin、および clrscr() がこのスコープで宣言されていないというエラーが表示されています。これが表示される理由がわかりません。

以前に使用したコンパイラである Turbo C++ 3.0 で同じコードを実行しました。そして、私はそこにそのようなエラーはありませんでした。このエラーの修正にご協力ください。

ここで何が問題なのか、なぜ機能しないのか教えてください。

4

2 に答える 2

2

そのため、コンパイラ固有の API に依存するのではなく、標準ライブラリを使用することをお勧めします。

TurboC++ には<conio.h>、標準の C++/C ヘッダーではないものがあります。

回避策:

Linux の場合: libconio.h

Windows の場合:

  #include <conio.h>
  #define clrscr() system("cls");
  #define getch() kbhit()
于 2013-02-17T09:49:07.083 に答える
1

Conio.h は borland コンパイラで動作します。curses.h を使用します。Turbo c++ は borland コンパイラに基づいています。

MingGw は Code::blocks のデフォルトのコンパイラであり、GNU コンパイラに基づいています。ヘッダーはインポートされますが、ほとんどの機能は使用できません。

于 2013-02-17T08:54:01.827 に答える