CodeView (cv.hlp) (Table of Contents; Topic list)
C Function Calls
                                             Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
     C expressions can contain calls to functions that are part of the
     program being debugged. However, the C expression evaluator treats
     a function call as if the function has no prototype. Thus, if an
     argument type in a function call differs from the corresponding
     parameter type in the function prototype, you must explicitly cast
     the argument to the type given in the prototype. Otherwise, the
     function call returns a meaningless result.
 
     For example, if the program you are debugging has the definitions
 
          int _far *far_ptr;
          int func( int _near *near_ptr)
          {
              return(near_ptr);
          }
 
     then using the call
 
          func( far_ptr )
 
     in an expression returns an unpredictable result. To achieve
     the intended result, you must explicitly cast far_ptr, as in
 
          func( (_near *)far_ptr )
 
     NOTE: Functions that return floating-point values must be compiled
           with Microsoft C version 6.0 or later. CodeView cannot
           correctly evaluate floating-point functions that were
           compiled with earlier versions of Microsoft C.
                                    -♦-