我希望这不是太明显,因为我已经搜索了一整天并且找不到答案。
假设我有以下 R 文件:
library(Rcpp)
sourceCpp("cfile.cpp")
giveOutput(c(1,2,3))
它编译以下 C++ 文件:
#include <Rcpp>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector plusTwo(NumericVector x){
NumericVector out = x + 2.0;
return out;
}
NumericVector giveOutput(NumericVector a){
NumericVector b = plusTwo(a);
return b;
}
无论我尝试什么,Rcpp 预处理器都plusTwo()
可用,giveOutput()
但根本不可用。我能够找到的文档说这是一个应该创建一个包的点,但是在阅读包小插图之后,它似乎比我需要的要复杂一个数量级。
没有明确定义plusTwo()
inside giveOutput()
,我能做什么?