Литеральная строка работает, но строка не в file.open () - PullRequest
0 голосов
/ 29 июля 2011

Это работает:

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 Ответ

5 голосов
/ 29 июля 2011

Эта функция-член принимает char const*, а не std::string; вам нужно будет передать его pathname.c_str().

(В C ++ 0x есть перегрузка open, которая принимает std::string, поэтому ваш код когда-нибудь будет работать как есть; ваша реализация, очевидно, пока не поддерживает это.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...