В этом выражении:
output(nombre.c_str());
Компилятор считает, что output
является "вызываемым", но std :: fstream не перегружал оператор вызова. Таким образом, вы получаете ошибку во время компиляции.
Чтобы исправить это;вы либо вызываете участника open
:
output.open(nomber); // directly because the new standard allows strings for fstream::open
, либо при инициализации output
:
std::ofstream output(nombere); // (contructor of ofstream that takes std::string) or
std::ofstream output(nombere.c_str()); // ctor that takes const char*