Yes please.

My reasoning is because that it really *is* a parameter to the function - which you have implemented as a "hidden" member of the class instead of passing to the function.  It is similar to using a global variable to control the kind of values returned by a global function.

The problem with this approach is that it introduces a hidden dependency which isn't clear from the prototype of the function.  This hurts maintainability - later on someone may add another call to the function and not realise that the member needs to be initialised.  Similarly it won't be obvious that the other functions can be optimized in the same way because it isn't clear from the prototype.

We shouldn't be afraid to modify the prototypes of functions - although of course we need to take care if it part of a public interface.

(There are other issues e.g., the variable is declared in one class, but only initialised in a the csv constructor.)