错误C2039:'打开':不是'std :: basic_fstream的成员

Gih*_*han 1 c++ templates compiler-errors visual-c++

我打电话的时候

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

函数如tempobj-> fileOpen("LastID.dat");

它给了我错误

Error   23  error C2039: 'Open' : is not a member of 'std::basic_fstream<_Elem,_Traits>'
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题.这是我有这个功能的类.它是模板类

#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();};

};
Run Code Online (Sandbox Code Playgroud)

帮助我...... !!

fli*_*ght 6

C++区分大小写.你需要使用open()而不是Open().

  • 并且有38个SO用户时间.通过标记答案来关闭您的问题. (4认同)