Thanks, Alan. You are correct.
I separated my Gnoise.cpp to a Gnoise.h with the function prototype, and Gnoise.cpp only having the function of sc_processing. The C++ function "gauss_rand(double)" is called in Gnoise.cpp.
In this way, Gnoise.h can be included in its top module. The compilation is passed and simulation seems correct.
Thank you all!
Tim