When a C++ function has return type void, then the Scheme translation returns the unique value #<void>.
C++ functions requiring a Bool argument can take an argument of any value in the Scheme translation; #f will be mapped to 0, and everything else to 1. When a C++ function returns type Bool, the Scheme translation will return either #t or #f.
When a C++ function requires a parameter of numerical type -- whether integer or floating-point -- the Scheme translation requires a number (integer or floating-point). When the return type of a C++ is an integer, the Scheme function will always return an integer result; if it is a C++ floating point number, a Scheme floating point number is returned.
When a C++ function requires a parameter of type char, the Scheme translation may require a numerical type or a character type, depending on the intention of the C++ function.
When a C++ function requires or returns a C++ object, the Scheme translation requires or returns a Scheme object (from the translated class).