Subject: | |
From: | |
Reply To: | |
Date: | Wed, 29 Oct 1997 16:56:00 P |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
<<Please excuse what is probably a dump question from a "C" neophyte but,
I am tring to call the FFILEINFO Intrinsic (items 4 recsize and 10 eof).
I am declaring recsize as short and eof as long.
The compiler telsss me that:
line 61: error 1620: Argument 3 is not the correct type.
line 61: error 1620: Argument 5 is not the correct type.
What am I doing wrong??>>
If your "C neophyteness" is based on experience in a call-by-reference
language (say, FORTRAN), you might have overlooked the fact that C is a
call-by-value language. If you want a called routine, which definitely
includes MPE intrinsics, to change the value of a variable, you have to
explicitly pass the address of that variable. Make sure you look over
Table 2-1 in the intrinsics manual and understand what the parameter-type
identifiers mean. When you see something like "I16" or "U32", that is a
by-reference parameter, and you need to pass the address of the
appropriate variable using the '&variablename' syntax. If you'd posted
the problem code (hint, hint) we would know immediately if this is the
problem.
I assume that you're writing CM code for an MPE V/E machine? If not, you
should be using item 67 with a 32-bit unsigned integer instead of item 4
with a 'short'.
Steve
|
|
|