文字字符串有效但字符串不在file.open()中

时间:2011-07-28 21:43:25

标签: c++ file-io

这有效:

file.open("Levels\\test.txt");

这不是:

string pathname = "Levels\\test.txt";
file.open(pathname);

它输出以下错误:

no matching function for call to 'std::basic_ifstrea<char, std::char_traits<char> >::open
(std::string&)'

1 个答案:

答案 0 :(得分:5)

该成员函数需要char const*,而不是std::string;你需要传递它pathname.c_str()

(在C ++ 0x中,open的重载需要std::string,因此您的代码将在某一天工作;您的实现显然不支持此功能。)