我不明白发生了什么事。我有这样的代码:
#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”方法不起作用。我做错了什么?