0

私はC++を初めて使用し、「hello world」プログラムを使用していますが、エラーが発生し続けます

「cout」は、Ubuntuでgeanyを使用しているタイプの名前ではありません。違いが生じる場合は、次のコードを使用してください。

#include <iostream>

int main ()
{
extern cout << "hello world!";
    return 0;
}

新しい質問はしたくないので、ここに追加します

提供されたリビジョンでコンパイルされますが、プログラムを実行するとエラーが発生します

./geany_run_script.sh: 5: ./geany_run_script.sh: ./hello: not found

それについて何かアイデアはありますか?

4

2 に答える 2

3

に変更externstd::ます。最初の問題はextern、型の名前の前でのみ有効であるため、コンパイラが不満を言っていることです。2つ目はcout、名前空間stdで定義されているため、コンパイラにそこを調べるように指示する必要があります。良いことは、コードがと言っていないことusing namespace std;です。

于 2013-03-16T23:53:43.783 に答える
1

変化する:

extern cout << "hello world!";

それも

std::cout << "hello world!";  // You probably want \n on the end.

これは、coutが名前空間で定義されたオブジェクトであるためですstd。したがって、接頭辞として。を付けて、コンパイラにどこにあるかを知らせる必要がありますstd::。いくつかの代替手法がありますが、これは私の意見では最高です。

別の方法:を使用するusing directive

using std::cout;
cout << "hello world!";

は、ローカルで使用using std::cout;するオブジェクトがstd呼び出さcoutれ、現在のコンテキストに取り込まれるため、直接使用できることをコンパイラに通知します。

于 2013-03-16T23:52:50.653 に答える