当我打电话
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();};
};
帮助我...... !!
答案 0 :(得分:6)
C ++区分大小写。您需要使用open()
代替Open()
。
答案 1 :(得分:3)
或许使用小写O
?在标准库中看到函数名称中的大写是非常罕见的。