I meet a compile error in my small homework program:
Can I innitialize ifstream with a string?
or I must come back to char* style string?
Thank you!
Lingyun
//----------- here is part of my small program ---------------
string dicname("tofel. bok.gb2312");
char buf[256];
ifstream fdic(dicname);
while(fdic.getl ine(buf,256))
{}
//---------------- Here is the compile error ------------------
/home/lyyang/cpp-proj/wordwar.cpp: In function `int main()':
/home/lyyang/cpp-proj/wordwar.cpp:29: error: no matching function for
call to `
std::basic_ifst ream<char, std::char_trait s<char> >::basic_ifstre am(
std::string&)'
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/iosfwd:89:
error: candidates
are: std::basic_ifst ream<char, std::char_trait s<char>
::basic_ifstre am(const std::basic_ifst ream<char,
std::char_trait s<char> >&)
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/fstream:519:
error:
std::basic_ifst ream<_CharT, _Traits>::basic _ifstream(const
char*, std::_Ios_Openm ode) [with _CharT = char, _Traits =
std::char_trait s<char>]
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.2/include/g++-v3/fstream:504:
error:
std::basic_ifst ream<_CharT, _Traits>::basic _ifstream()
[with
_CharT = char, _Traits = std::char_trait s<char>]