[fpc-pascal] How to translate C macro
svaa at ciberpiula.net
Tue Jan 3 16:27:43 CET 2017
El 02/01/2017 a las 21:57, Darius Blaszyk escribió:
> Hi all,
> Could someone suggest how to translate the following code to pascal?
> #define prev(X) ( *( (void **) ( ((void *) (X)) - 32 ) ) )
> prev(ptr) = prev(last);
> I tried converting the macro to an inline function but I get the error
> message: Error: Argument cannot be assigned to.
> The following does work but is a bit verbose. So therefore I would
> prefer a clean solution if possible. I never have used macro's in FPC,
> are they capable of doing the same as mentioned above?
> ( ppointer ( (pointer (ptr)) - 32 ) )^ := ( ppointer ( (pointer
> (last)) - 32 ) )^;
If I have understood right, it could be something like this,
but maybe I have missed some indirection.
You could show a little of code to see what do you intend to do. Change
the 32th backward element of an array of pointers?
More information about the fpc-pascal