On 17 September 2012 at 15:44, Rodney Sparapani wrote: | On 09/17/2012 03:02 PM, Dirk Eddelbuettel wrote: | > You are once again tripping over as<>() and wrap(). You_must_ use as<int> | > as the following working example: | | Right. Is there a rule of thumb to determine when we need as<>()? | I have other examples where it seems to work without it, but I | can't seem to see a pattern. Or should you just use it all | of the time whether it is needed or not? Thanks!
Heuristically speaking: -- always use it for atomistic C/C++ types: int, double, bool, ... -- rely on SEXP types to corresponding Rcpp types happening automatically due to implicit use of as<>(), particularly vector / matrix types works: IntegerVector, NumericMatrix, List, Environment, Function, XPtr, ... And the same is true for wrap: for sure with int, double, ...; generally not need for core Rcpp types wrapping a SEXP. If it fails, the compiler usually tells you. I have not been bitten by silent failure like the one you reported. But then I also do not try to cram multiple assignments into a single line... Dirk -- Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel