0

以前にこの質問をしたところ、エラーについて言及するように言われたので、ここで言及します (最後に開始したスレッドを続行する方法がわかりませんでした。表示されたのは、[コメントを追加] ボタンと "質問に答える」ボタンが表示されたので、質問を修正してもう一度質問する必要がありました。申し訳ありません):

私の質問は次のとおりです。Visual Studio 2010 を使用しており、win32 アプリケーション (コンソール アプリケーションではない) を作成しています。このアプリケーションからファイルに書き込む方法を知る必要があります。

これらのヘッダーを含めました: windows.h、stdlib.h、string.h、および tchar.h

非常に単純な Hello World アプリケーションを作成しましたが、問題なく動作しました。

しかし、プロジェクトに iostream と fstream を含めようとすると、コンパイラは次のエラーを表示しました。

1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(21): error C2039: 'abort' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(21): error C2873: 'abort' : symbol cannot be used in a using-declaration
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(24): error C2039: 'exit' : is not a member of '`global namespace''
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib(24): error C2873: 'exit' : symbol cannot be used in a using-declaration
IntelliSense: the global scope has no "abort"   c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib  21  13  
IntelliSense: the global scope has no "exit"    c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib  24  13  

fstream.h をインクルードすると、次のようになります。

error C1083: Cannot open include file: 'fstream.h': No such file or directory   c:\users\user\documents\visual studio 2010\projects\helloworld\helloworld\main.cpp  5   1   helloworld
IntelliSense: cannot open source file "fstream.h" c:\users\user\documents\visual studio 2010\projects\helloworld\helloworld\main.cpp    5   1   helloworld

iostream.h についても同じ

これらのエラーが発生するのはなぜですか?

4

4 に答える 4

5

C++ では、 (C スタイルの文字列を意味すると仮定して) の<cstdlib>代わりに,<stdlib.h>を使用する必要があります。C++ std::string が必要な場合は、[with ] を使用します。<cstring><string.h><string>.h

<fstream>ではなく、を使用する必要があります<fstream.h>

于 2013-06-01T10:39:16.463 に答える
1

次のことを確認してください。

#include "stdafx.h"

あなたの.cppファイルの最初のインクルードです。

この後に他のインクルードを書きます:

#include "stdafx.h"
#include <iostream>
// ... and so on

int main(...) {

}

... これは、Microsoft コンパイラでよくある間違いです ( C++ cout Gives undeclared identifier を参照してください)。

于 2013-06-01T10:39:26.733 に答える
0

おそらくあなたは#include "iostream"代わりに書いた#include <iostream>

于 2013-06-01T10:23:51.170 に答える
0

これが役立つかもしれません..からエラーの理由を確認してください

http://msdn.microsoft.com/en-us/library/et4zwx34%28v=vs.80%29.aspx

于 2013-06-01T10:24:57.347 に答える