Lisa,
Sorry, I misread your code. There is a possible array overrun, so we need argument n and p, apparently. A likely better version, and demo running the right code are below. The rest of the reasoning likely stands, methinks. Code ----------------------------------------------------------------------------- #include <Rcpp.h> // [[Rcpp::export]] void mysum(int p, int n, std::vector<double> array) { double res = 0; int myend = std::min(p * n, (int)array.size()); for (int i = 0; i < myend; ++i) { res += array[i]; } std::cout << "result : " << res << std::endl; } /*** R myvec <- sqrt(1:10) mysum(2,3,myvec) */ ----------------------------------------------------------------------------- Demo usage ----------------------------------------------------------------------------- R> Rcpp::sourceCpp("/tmp/lisademo.cpp") R> myvec <- sqrt(1:10) R> mysum(2,3,myvec) result : 10.8318 R> ----------------------------------------------------------------------------- Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel