2016-04-05 3 views
0

Я новичок в программировании, и это мой второй проект. Я следил за инструкциями инструктора, чтобы написать их, чтобы открыть файл, используя ifstream, но всегда есть ошибка. ошибка: нет соответствующей функции для вызова 'std :: basic_ifstream :: open (std :: string &)' |Невозможно открыть файл, используя ifstream в C++

string filename, command; ifstream myfile;

cout << "Enter the file name: "; 
cin >> filename; 
myfile.open(filename); 
while(myfile >> numloops) 
{ 
    while(numloops != 0) 
    { 

часть кода

+0

Вы также добавляете расширение файла в код? – Auriga

+0

Полная ошибка есть, и нет, это не ошибка связывания. И это не имеет никакого отношения к расширению файла. –

ответ

1

Вы используете C++ 03 компилятора.

Только с C++ 11 может использоваться std::string для предоставления имени файла конструктору std::fstream или std::fstream::open().

Для старых версий стандарта требуется строка стиля C по историческим причинам.

Вы можете получить один с помощью std::string::c_str(), так:

myfile.open(filename.c_str()); 

В идеале, хотя, вы бы использовать не древний компилятор вместо этого.

Смежные вопросы