2011-10-16 76 views
1

當我打電話錯誤C2039: '打開':不是「STD成員:: basic_fstream的

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

剛剛讀取錯誤信息''打開':不是'std :: basic_fstream <_Elem,_Traits>'的成員 –

回答

6

C++區分大小寫。您需要使用open()而不是Open()

+0

是這是問題謝謝 – Gihan

+0

而簡單的「O」浪費了我2個小時。 ... – Gihan

+4

和38個SO用戶時間。通過標記答案來解決問題。 –

3

使用小寫O,也許?在標準庫中的函數名稱中看到大寫字母很常見。

相關問題