Message-ID: <BANLkTikmm7s9ABDP1hUEnU2-hqQ+G_YXQg@mail.gmail.com>
Date: 2011-06-07T15:44:49Z
From: Héloïse Gauvin
Subject: [Rcpp-devel] Are c++ vector types provided by Rccp real c++ type?
Hi,
I am a new user of Rccp. I've been trying to understand since 2 weeks how
I'll be able to convert a Splus library constructed with multiple C++
functions (and files) into a nice and free R package.
My question seems basic to me but I'll let you judge I get this error
message:
interface.cpp: In function 'SEXPREC* CreateObjectGen(SEXPREC*, SEXPREC*, S
EXPREC*, SEXPREC*)':
interface.cpp:115:87: error: cannot convert 'Rcpp::Fast<Rcpp::Vector<14> >'
to
'int*' for argument '1' to 'int CompGen(int*, int*, int*, int*, int*, int*,
int*, int*, int*)'
Do this mean I have to modify every function I am calling from inside
another c++ function? Is it possible?
Here I have this code:
__________
#include"outils.h" // 'outils.cpp' is the place where the function CompGen()
is
#include "interface.h"
#include <stdlib.h>
using namespace Rcpp ;
RcppExport SEXP CreerObjetGen(SEXP SInd,SEXP SPere, SEXP SMere, SEXP SSexe)
{
STARTTIMER;
NumericVector xSInd(SInd), xSPere(SPere), xSMere(SMere),
xSSexe(SSexe);
Fast<NumericVector> fSIndividu(xSIndividu), fSPere(xSPere),
fSMere(xSMere) , fSSexe(xSSexe);
....
CompGen(fSInd,fSPere,fSMere,fSSexe,fInd,fpere,fmere,fsexe,&lNIndividu);
// the 2nd function I called...
__________
I used to have this before I had to change them to types provided by Rccp
(NumericVector):
int* plIndividu =INTEGER_POINTER(AS_INTEGER(SIndividu));
int* plPere =INTEGER_POINTER(AS_INTEGER(SPere));
etc...
I've also read the last post on the list... is it because I can't send
pointers through a function?
thanks for the help,
H?lo?se
--
H?lo?se Gauvin
PhD student, Epidemiology
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20110607/8f194873/attachment.htm>