Если вы используете компилятор и стандартную библиотеку, совместимую с C ++ 11, то можно использовать
void foo(std::ofstream dumFile) {}
, если она вызывается с помощью значения r.(Такие вызовы будут выглядеть как foo(std::ofstream("dummy.txt"))
или foo(std::move(someFileStream))
).
В противном случае измените параметр, передаваемый по ссылке, и избегайте необходимости копировать / перемещать аргумент:
void foo(std::ofstream& dumFile) {}