Functions with prototypes of the form
  SEXP myfunc(SEXP, SEXP, ..., SEXP)
must be called via .Call(), not .C().

Also, you declared myfunction as returning
SEXP but returned nothing.  Try ending the
function with
  return R_NilValue;
You should change the default compiler flags
to report all warnings (-Wall if you are using gcc).

And you left off a line or two of C code
that must have been there, or you code would
have compiled due to errors
  #include <R.h> /* not needed if Rinternals is included */
  #include <Rinternals.h>

Study 'Writing R Extensions' and work through the
examples in it.  In particular, look at section 5.9.

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com 

> -----Original Message-----
> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On 
> Behalf Of teazrq
> Sent: Wednesday, October 12, 2011 7:52 PM
> To: r-help@r-project.org
> Subject: Re: [R] pass an element in a list() from R to C
> 
> so, I did this:
> 
> B= list("a" = 1, "b" = 2, "c" = 3)
> 
> .C("myfunction", B)
> 
> 
> the c code is :
> 
> SEXP myfunction(SEXP matrix_temp)
> {
>     Rprintf("this element is %6.3f", REAL(VECTOR_ELT(matrix_temp,1))[0]);
> }
> 
> but after runing the R code, it says Error: VECTOR_ELT() can only be applied
> to a 'list', not a 'NULL'
> I guess this is because I did not acturally pass a list to the c function,
> but why is that?
> 
> --
> View this message in context: 
> http://r.789695.n4.nabble.com/pass-an-element-in-a-list-from-R-to-C-
> tp3900221p3900426.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to