我希望以下代码返回列表中向量的大小。使用Rcpp编译时,它返回错误‘Rcpp::Vector<19>::Proxy’ {aka ‘class Rcpp::internal::generic_proxy<19>’} has no member named ‘size’
我在做什么错?
library(Rcpp)
cppFunction("
int f() {
List X(2);
X[0] = rep(0,2);
X[1] = rep(0,3);
return X[0].size();
}")
f()
UPDATE
我找到了一种解决方案:在返回前强制转换X [0]。这是代码:
cppFunction("
int f() {
List X(2);
X[0] = rep(0,2);
X[1] = rep(0,3);
return ((IntegerVector)X[0]).size();
}")
首先,我建议从程序包inline
迁移到Rcpp属性。我们大多数人在2013或2014年左右做过;请参阅更新的简介小插图。