Joeish W <joeish80...@yahoo.com> writes:

[SKIPPED CODE]
>
> When I run (defparameter a (%scalar 1d0 2d0 3d0 4d0))  and (mem-aref a 
> :double)  I still get:
>
> The value #<CV-SCALAR {10046BC833}>
> is not of type
>   SB-SYS:SYSTEM-AREA-POINTER.
>
> but when I run  (mem-aref (c-pointer a) :double)  it works.
>
> What do I have to change in my types so I can mem-aref  "A" normally, like 
> this 
>
> (mem-aref a :double)...Any help is much appreciated:)

Did you read the tutorial and the CFFI manual?

To be short, you should only use the mem-aref in lowlevel code and in
that case you are better of using the (mem-aref (c-pointer ...))
construct.

However if you want to expose the members of the C++ class instance you 
should lookup the defcstruct documentation in the CFFI manual.

Wim Oudshoorn


_______________________________________________
Cffi-devel mailing list
Cffi-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

Reply via email to