Maybe the visibility at the callsite, to make it clear what the parameter is used for because you have to take a pointer to it, and since input parameters can only be passed by value or const reference the only reason to hand out a pointer is an out parameter?