何が起こっているのかわかりません。私はそのようなコードを持っています:
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
ifstream infile;
infile.open("test.txt");
if(!infile) return 1;
infile.close();
return 0;
}
それは問題なく動作します。「text.txt」という名前のファイルは存在しません。アプリケーションは 1 を返します。しかし、同じコードをクラス内に配置すると、別の方法で動作します。宣言は次のとおりです。
#pragma once
#include <iostream>
#include <fstream>
using namespace std;
class Record
{
public:
Record(char *filename);
public:
~Record(void);
private:
ifstream infile;
}
そしてコンストラクタ:
Record::Record(char *filename)
{
infile.open(filename);
if(!infile.is_open()) return;
}
メソッド「is_open」が機能しないようです。私は何を間違っていますか?