2011-07-28 6 views
0

이 작동 :리터럴 문자열 작동하지만 문자열은 file.open하지 않습니다()

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

이되지 않습니다

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

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

그것은 다음과 같은 오류를 출력

+0

우리가 추측 만들기 유형' 파일'은, 응? –

+0

다른 전화가 작동 했으므로 관련성이 있다고 생각하지 않았습니다. 그것은 ifstream입니다. –

답변

5

해당 멤버 함수는 std::string이 아니라 char const*을 사용합니다. 당신은 그것을 pathname.c_str()에 전달해야 할 것입니다.

(C++ 0X에서와 같이 코드가 언젠가 작동 할 수 있도록하는 std::string 소요 open의 과부하가있다,. 구현이 분명히 아직이 기능을 지원하지 않습니다)

관련 문제