ошибка C2039: «Открыть»: не является членом «std :: basic_fstream» - PullRequest
1 голос
/ 16 октября 2011

Когда я звоню

void fileOpen(const char*
 fname_){file_.Open(fname_,ios::in|ios::out|ios::ate|ios::binary);};

Функция как tempobj-> fileOpen ("LastID.dat");

Это дает мне ошибку

Error   23  error C2039: 'Open' : is not a member of 'std::basic_fstream<_Elem,_Traits>'

Какя решаю это.Это класс, у меня есть эта функция.Это шаблон класса

#ifndef FileHandlerh_h
#define FileHandlerh_h
#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;
template <class T>
class FileHandler
{
    private:
        fstream file_;


    public:
        FileHandler(){};

        FileHandler(const char* fname_){fileOpen(fname_);};

        void fileOpen(const char* fname_){file_.Open(fname_,ios::in|ios::out|ios::ate|ios::binary);};

        void fileWrite(T);
        void fileSeekWrite(T,int);
        T fileRead(int);
        int getNoOfRecords();

        ~FileHandler(){file_.close();};

};

Помогите мне с этим ... !!

Ответы [ 2 ]

6 голосов
/ 16 октября 2011

C ++ чувствителен к регистру. Вам нужно использовать open() вместо Open().

3 голосов
/ 16 октября 2011

Используйте строчные буквы O, возможно? Весьма редко можно видеть заглавные буквы в именах функций в стандартной библиотеке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...