Создал библиотеку, конструктор должен принять string (путь к файлу), но на этапе компиляции происходит ошибка:

код конструктора:
Grid::Grid(string path_to_grid_txt){
ifstream grid_txt(path_to_grid_txt);
grid_txt >> height;
grid_txt >> width;
grid_nodes = new node * [height];
for(int i = 0; i < height; ++i){
grid_nodes[i] = new node [width];
for(int j = 0; j < width; ++j){
grid_txt >> grid_nodes[i][j].pass;
grid_nodes[i][j].coordinates.x = j;
grid_nodes[i][j].coordinates.y = i;
grid_nodes[i][j].n = i * width + j;
}
}
}
передаю таким образом:
int main()
{
string a;
cin >> a;
Grid st(a);
return 0;
}