我正在編寫程序,並且在嘗試使用Cygwin編譯時遇到一些奇怪的編譯器錯誤。該程序使用Visual Studio C++ Express進行編譯和運行,所以它似乎與Cygwin有關。所有的錯誤似乎都是相同的類型。下面是代碼的例子:使用Cygwin編譯時出現fstream錯誤
int count_records(void)
{
EMPL_TYPE empl_rec;
fstream empl_infile;
empl_infile.open(filepath, ios::in|ios::binary);
int count = 0;
empl_infile.read((char *) &empl_rec, sizeof(empl_rec));
while (!empl_infile.eof())
{
count++;
empl_infile.read((char *) &empl_rec, sizeof(empl_rec));
}
empl_infile.close();
cout << "Records Counted: " << count << endl;
return count;
}
,這裏是與該區段的錯誤:
Assignment2.cpp:在功能int count_records()': Assignment2.cpp:34: error: no matching function for call to
的std :: basic_fstream的> ::開放(常量的std :: string & ,std :: _ Ios_Openmode)' /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/fstream:819:note:candidates are:void std :: basic_fstream < _CharT,_Traits> ::打開(const char *,std :: _ Ios_Openmode)[與_CharT = char,_Traits = std :: char_traits]
同樣,我不會收到此錯誤時co使用Visual Studio進行製作,僅限於Cygwin。如果任何人有任何想法,將不勝感激。謝謝。
大,謝謝! – 2013-02-25 17:59:47