Не удается объявить члена класса ifstream в заголовочном файле
Я пытаюсь объявить объект ifstream в заголовочном файле, как показано, но я получаю сообщение об ошибке, говорящее о том, что к нему нельзя получить доступ. Я пробовал разные вещи, такие как создание указателя вместо этого, инициализация в файле .c и т. Д., Но мой код может 'Кажется, это часть заявления об этом.
ReadFile.h:
#ifndef READFILE_H
#define READFILE_H
#include "cv.h"
#include "highgui.h"
#include
#include
class ReadFile{
private:
std::ifstream stream;
public:
std::string read();
ReadFile(); // Default constructor
~ReadFile(); // Destructor
};
#endif
ReadFile.c: #include "ReadFile.h»
ReadFile::ReadFile(){
stream.open("./data.txt");
}
ReadFile::~ReadFile(){
stream.close();
}
Ошибка, которую я получаю:
Error 9 error C2248: 'std::basic_ifstream::basic_ifstream' : cannot access private member declared in class 'std::basic_ifstream' c:\users\Bob\documents\project\models\readfile.h 23 1 Project
Выход:
1>c:\users\Bob\documents\project\models\readfile.h(23): error C2248: 'std::basic_ifstream::basic_ifstream' : cannot access private member declared in class 'std::basic_ifstream'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\fstream(827) : see declaration of 'std::basic_ifstream::basic_ifstream'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> This diagnostic occurred in the compiler generated function 'ReadFile::ReadFile(const ReadFile &)'
Ошибка возникает, когдаstd::ifstream stream;
включен и исчезнет при удалении этой строки. Что может быть причиной этой ошибки? Я что-то упустил действительно очевидное или есть что-то еще?