使用Rcpp返回列表内向量的大小

问题描述 投票:0回答:1

我希望以下代码返回列表中向量的大小。使用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();
}")
rcpp
1个回答
1
投票

首先,我建议从程序包inline迁移到Rcpp属性。我们大多数人在2013或2014年左右做过;请参阅更新的简介小插图。

© www.soinside.com 2019 - 2024. All rights reserved.