I'm guessing this is an easy question, but I'm new to Cpp, and am stuck.
I've created a function in R, using Rcpp and:
// [[Rcpp::export]]
I can call the function in R and it works as intended. Let's call it F1
.
Next, I want to create another function, F2
, using Rcpp
which calls the first function. I use standard function call language (i.e., F1(arguments))
, and it compiles fine through R when I use sourceCpp()
.
But when I try to call F2
in R, I get:
Error in .Primitive(".Call")(
and
F2 is missing
The first .cpp
file contains
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
double F1(NumericVector a) {
int n = a.size();
double result=0; // create output vector
double ss = 0;
for(int i = 0; i < n; ++i) {
ss += pow(a[i],2);
}
result = ss;
return result;
}
The following is in another .cpp file.
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
double F2(NumericVector a) {
double result=0;
result = F1(a);
return result;
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…