Passing data by value (indirect) between C++ and COBOL

Copies of variable can be passed between C++ and COBOL routines. On return, the actual value of the variable remains unchanged regardless of how it may have been modified in the called routine.

Value arguments can be passed BY CONTENT from COBOL programs and received as C++ function parameters when declared with the appropriate base type. Conversely, C++ function arguments can be passed by value (indirect) from C++ functions and received as COBOL parameters. The C++ compiler generates the appropriate addressing code required to access the parameter values; you can write your C++ function, which is interoperable with COBOL, as if it were in a C++-only environment. It can be moved to a C++-only environment simply by removing the extern "COBOL". For example, if a C++ function called FROMCOB is to receive a parameter passed BY CONTENT of type int, the function prototype declaration would look like this:
void FROMCOB(int)

Table 1 shows the supported data types for passing by value (indirect).