Проблема в том, что конструктор ifstream
не принимает string
в качестве параметра, а только char const*
. Теперь "test.txt"
имеет тип char const[9]
, который распадается на char const*
в соответствии с правилами продвижения типов, поэтому он работает. Однако не существует неявного преобразования из string
в char const*
, поэтому ваш код не работает.
Чтобы исправить ваш код, создайте свой поток с помощью:
ifstream file(location_file.c_str());