作者dxi (D差耶)
看板EE_DSnP
标题[问题] 开档案
时间Fri Apr 17 19:21:22 2009
无论是查书或google,他们都建议我如下撰写读档程式码:
bool CmdParser::openDofile(const string& dof)
{
ifstream _dofile(dof, ios::in);
...
然而,compile总是不能过。
cmdParser.cpp: In member function `bool CmdParser::openDofile(const
std::string&)':
cmdParser.cpp:36: error: no matching function for call to
`std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >&,
const std::_Ios_Openmode&)'
/usr/lib/gcc/i386-redhat-linux/3.4.4/../../../../include/c++/3.4.4/iosfwd:90:
note: candidates are: std::basic_ifstream<char, std::char_traits<char>
>::basic_ifstream(const std::basic_ifstream<char, std::char_traits<char> >&)
/usr/lib/gcc/i386-redhat-linux/3.4.4/../../../../include/c++/3.4.4/fstream:524:
note: std::basic_ifstream<_CharT,
_Traits>::basic_ifstream(const char*, std::_Ios_Openmode) [with _CharT =
char, _Traits = std::char_traits<char>]
/usr/lib/gcc/i386-redhat-linux/3.4.4/../../../../include/c++/3.4.4/fstream:509:
note: std::basic_ifstream<_CharT, _Traits>::basic_ifstream()
[with _CharT = char, _Traits = std::char_traits<char>]
请问问题出在哪里呢?谢谢
顺便补充:
void
CmdParser::closeDofile()
{
_dofile.close();
请问为什麽没办法compile过呢?
查遍网路也得不到答案:(
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.7.59
※ 编辑: dxi 来自: 140.112.7.59 (04/17 19:23)
1F:推 lovelylion2:dofile是pointer 先new ifstream给它 04/17 19:29
2F:→ lovelylion2:另外dof要改成dof.c_str() (他只吃char*) 04/17 19:29
3F:推 lovelylion2:其实我不确定是不是只吃char*, 不过我改c_str就过了 04/17 19:33
4F:→ dxi:可是他现在换成说:`_dofile' cannot be used as a function 04/17 19:40
5F:→ pacy99:要写_dofile->close()才会过吧 04/17 20:26