Имеет ли функция open
какое-то ограничение относительно типа передаваемого строкового значения?
ifstream file;
string filename = "output.txt";
file.open(filename);
Я пытался передать строковое значение с помощью строковой переменной, но когда он пытаетсяскомпилировать, результат будет ...
agent.cpp:2:20: error: ofstream: No such file or directory
agent.cpp: In function ‘std::string readingline(std::string)’:
agent.cpp:11: error: aggregate ‘std::ifstream file’ has incomplete type and cannot be defined
agent.cpp: In function ‘int main()’:
agent.cpp:44: error: aggregate ‘std::ofstream writefile’ has incomplete type and cannot be defined
С другой стороны, когда я просто передаю строковое значение в кавычках, таких как "filename.txt", оно прекрасно компилируется и работает нормально.
ifstream file;
file.open("output.txt");
Почему это так?
Есть ли способ решить эту проблему?