function call by reference.
add additional compile option