我猜这是一个简单的问题,但我是 Cpp 的新手,并且被卡住了。
我在 R 中创建了一个函数,使用 Rcpp 和:
// [[Rcpp::export]]
我可以在 R 中调用该函数,它按预期工作。让我们称之为F1
。
接下来,我想创建另一个函数F2
,使用Rcpp
它调用第一个函数。我使用标准函数调用语言(即 ,F1(arguments))
当我使用sourceCpp()
.
但是当我尝试调用F2
R 时,我得到:
.Primitive(“.Call”)中的错误(
和
F2 不见了
第一个.cpp
文件包含
#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;
}
以下是另一个 .cpp 文件。
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
double F2(NumericVector a) {
double result=0;
result = F1(a);
return result;
}