2011-07-28 12 views
0

ではない:リテラル文字列の作品が、文字列この作品file.open()

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&)' 
+0

;

(実装は明らかにまだこれをサポートしていませんあなたのコードはいつかのように動作しますので、C++ 0xのでは、std::stringを取るopenの過負荷が、そこにされています。)ファイル 'は、え? –

+0

他の呼び出しが機能していたので、関連性があるとは思わなかった。それはifstreamです。 –

答えて

5

そのメンバー関数は、std::stringではなく、char const*をとります。あなたはそれをpathname.c_str()に渡す必要があります。私たちはどのようなタイプ `推測作る

関連する問題