non-const reference cannot refer to a temporary