2016-08-14 3 views
1
#include <iostream> 
#include <math.h> 
#include "stdafx.h" 

using namespace std; 

int main() 
{ 
    float a, b; 
    cout << "Enter The Number: "; 
    cin >> a; 
    b = sqrt(a); 
    cout << "The Square Root of The Number Is: " << b; 
    return 0; 
} 

コンパイラはエラーを与える:このC++コードで何が問題になっていますか?

consoleapplication1.cpp(10): error C2065: 'cout': undeclared identifier 
consoleapplication1.cpp(11): error C2065: 'cin': undeclared identifier 
consoleapplication1.cpp(12): error C3861: 'sqrt': identifier not found 
consoleapplication1.cpp(13): error C2065: 'cout': undeclared identifier 

私にエラーを伝え、また、なぜ私は「stdafx.hを」を含まない、なぜそれが引用符であるしてください?? Visual Studio 2015を使用します。レベル:初心者

+4

あなたは 'stdafx.h' [here](http://stackoverflow.com/questions/4726155/whats-the-use-for-stdafx-h-in-visual-studio)について読むことができます – Rakete1111

+5

TL; DR : '#include" stdafx.h "'を動かすと、ソースファイルの最初の(コメントではない)行になります。 –

+2

あなたが見せているエラーは唯一のものではないと確信しています。その前に、あらかじめコンパイルされたヘッダファイル '' stdafx.h ''が最初に含まれていないものがあるはずです。 –

答えて

2

単純な移動#include "stdafx.h"がファイルの先頭に移動し、コードがコンパイルされます。

stdafx.hにはプリコンパイル済みヘッダーが含まれています。削除する場合は、プロジェクトプロパティで無効にする必要があります。

オプションは、Visual Studioで新しいプロジェクトを作成

ファイルながら、それを無効にすることでより良い - >新規プロジェクト - >あなたのしている設定とタイプのOKを選択してください - >次 - >完了 - >ここでは、「プリコンパイル済みヘッダを」オフ

+0

プリコンパイルされたヘッダーを無効にする "良い"オプションはなぜでしょうか?それを使用する方法を学ぶ方が理にかなっていませんか?それは難しいことではありませんし、多くの時間を節約します。 –

+0

プリコンパイル済みヘッダーは、プリコンパイル済みヘッダーが変更されない場合にのみ時間を節約します。あまりにも多くのインクルードファイルがある場合にのみ時間が重要です。 –

+0

右。また、Visual Studioに共通するようなWindowsアプリケーションを構築するときには、すべてのWindowsヘッダーファイルとCまたはC++標準ライブラリヘッダーファイルの多くが含まれています。しかし、それらの全体の束があります。もしあなたがそうするなら、 "過度な"。 –

1

#include "stdafx.h"行の前(コンパイル済みのヘッダーを使用している場合)の前に、コンパイラは何も無視します。

私はあなたが実際に使用プリコンパイル済みヘッダーに提案し、そのstdafx.hファイルに標準ライブラリのヘッダーinclude Sを移動します。

関連する問題