2017-02-28 19 views
0

「エラー: 'cout'はこのスコープでは宣言されていませんでした」というエラーが表示されますが、私の研究で同様の問題に対して与えられた解決策であった<iostream>が含まれていました。私のコードはこれです:C++で「スコープ」エラーを取得する

#include <iostream> 
int main(){ 

    Sally so; 
    Cout << "omg wtf is this on my shoe" << endl; 
} 
+0

私はあなたの書式を修正しました。あなたのコードに書いて忘れてしまったので、あなたが書いた '#include 'も追加しました。 – Hurkyl

+2

std :: cout not Cout – pm100

+1

'cout'は小文字でなければならず、' std'名前空間の内部にあります。これは、チュートリアルや例でカバーされます。 – Carcigenicate

答えて

5
  1. そのcoutないCout、ケースの違いに気づきます。
  2. coutは、名前空間stdにあります。それを使用するには、std::で名前空間を解決する必要がありますので、std::cout << ...を使用してください。
  3. 多くの人があなたにちょうどするように指示します。using namespace stdです。詳細情報については、see Why is “using namespace std” considered bad practice?.
-1
はこれにあなたのコードを変更

#include<iostream> 
using namespace std; 
int main() 
{ 
    Sally so; 
    cout<<"the text"<<endl; 
}  

それが役に立てば幸い! 乾杯

+2

'using namespace std'は悪いアドバイスです:http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice –

+1

' 'namespace std ; '。 –

2
  1. あなたが「Coutに」ない「COUT」を書いている - C++は、大文字と小文字が区別されるので、これら二つは同じものではありません。

  2. coutストリームがstd名前空間に存在するため、std::coutと記述する必要があります。

  3. endlの場合はstd::endlと同じです。

あなたでしたが、私はそれをアドバイスしませんusing namespace std;を使用してstd::を書く回避 - それは些細なプログラムのために怪我をしないことがあり、現在のスコープに名前空間のすべてを引っ張る意志多くのため一口複雑なもの(少なくとも、ヘッダーではしないでください)。

はちょうどこの操作を行います。ところで

#include <iostream> 
int main(){ 
    Sally so; 
    std::cout << "omg wtf is this on my shoe" << std::endl; 
} 

を。ストリームをフラッシュすることがわかっていない場合は、'\n'std::endlよりも優先してください。

+1

注意:もう1つの方法は 'std :: coutを使うことです。 std :: endl; 'を使用してください。 –

+0

ありがとうございました。 – Allen

関連する問題