Problem leży w 11. linijce kodu:
W
Kod: Zaznacz cały
http://www.cplusplus.com/reference/fstream/ifstream/open/
możesz znaleźć jej dwa prototypy:
Kod: Zaznacz cały
void open (const char* filename, ios_base::openmode mode = ios_base::in);
void open (const string& filename, ios_base::openmode mode = ios_base::in);
Z czego ten drugi, pozwalający przekazać nazwę pliku jako string, istnieje tylko w standardzie C++11, którego twój kompilator najwyraźniej nie obsługuje, więc musisz skorzystać z tego pierwszego.
Wynika z tego, że (jeśli twój kompilator nie obsługuje C++11) pierwszy argument metody musi być typu
const char*
, czyli musi być tablicą char-ów. Ty natomiast próbujesz przekazać tam obiekt typu
std::string
, co powoduje błąd kompilacji. Możesz ten problem rozwiązać tak :
(Metoda
Kod: Zaznacz cały
http://www.cplusplus.com/reference/string/string/c_str/
pozwala "przekonwertować" stringa na tablicę char-ów.), ale ja radziłbym ci zainstalować jakiś nowszy kompilator, np. [url=https://www.visualstudio.com/downloads/download-visual-studio-vs]Visual Studio 2015 Community[/url], żebyś mógł się nauczyć "nowoczesnego" C++ .