我在Rcpp中遇到一个简单的代码问题.我的问题是我想通过将一个向量传递给一个函数来改变它.一个例子是:
//[[Rcpp::export]]
void ones(IntegerVector x, int lx){
int i;
for(i = 0; i < lx; i++){
x(i) = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
我在R做的时候:
x = rep(-1, 10)
ones(x, length(x))
Run Code Online (Sandbox Code Playgroud)
向量x不会改变.我怎么能解决这个问题?
编辑:如果我传递x作为&x如何更改它的值?
编辑:尝试前两个答案中提出的两个方法后没有任何改变.
编辑:重新启动Rstudio,现在它的工作原理.......这是Rstudio用户的常见问题吗?