次のコードでは、Visual Studio 2010 C++ は fstream インクルードの受け入れを認識しませんが、fstream 型を認識しません。
#include <string.h>
#include <fstream>
class Test_CLR
{
int openFlag;
int isOpen(void)
{
return openFlag;
};
fstream testFile;
};
次のコードでは、Visual Studio 2010 C++ は fstream インクルードの受け入れを認識しませんが、fstream 型を認識しません。
#include <string.h>
#include <fstream>
class Test_CLR
{
int openFlag;
int isOpen(void)
{
return openFlag;
};
fstream testFile;
};
名前空間を指定するのを忘れています (名前空間の詳細については、http ://www.cplusplus.com/doc/tutorial/namespaces/ を参照してください) 。
基本的に、次の 3 つの方法で fstream クラスに std 名前空間を使用させることができます。
アプローチ1
std 名前空間を使用するようにファイル全体を宣言します。
#include <string.h>
#include <fstream>
using namespace std; //ADDED CODE
class Test_CLR
{
int openFlag;
int isOpen(void)
{
return openFlag;
};
fstream testFile;
};
アプローチ 2
std 名前空間のfstreamのみを使用するようにプログラム全体を宣言します。
#include <string.h>
#include <fstream>
using std::fstream; //ADDED CODE
class Test_CLR
{
int openFlag;
int isOpen(void)
{
return openFlag;
};
fstream testFile;
};
アプローチ 3
std 名前空間にリンクされる fstream の単一使用を宣言します。
#include <string.h>
#include <fstream>
class Test_CLR
{
int openFlag;
int isOpen(void)
{
return openFlag;
};
std::fstream testFile; //ADDED CODE
};
違いは、上部に投稿されたリンクで説明されています。好きなのを選びな :)
fstream は std 名前空間にあります。代わりに std::fstream を試してください。詳細については、http://www.cplusplus.com/doc/tutorial/namespaces/を参照してください。
さらに、「using」キーワードを使用して、さまざまなスコープでタイプの使用を許可できます。詳細については、 http://www.cprogramming.com/tutorial/namespaces.htmlを参照してください。