I am developing classes for sparse matrices with an Rcpp interface that includes
Rcpp::Dimension dim() const {return Rcpp::Dimension(nr(), nc());} Rcpp::NumericMatrix asmatrix() const; The implementation of the asmatrix method begins with Rcpp::NumericMatrix ans(dim()); which is a public constructor for the Rcpp::Matrix template but this fails stating In file included from /home/bates/R/x86_64-unknown-linux-gnu-library/2.14/Rcpp/include/Rcpp/Vector.h:58:0, from /home/bates/R/x86_64-unknown-linux-gnu-library/2.14/Rcpp/include/Rcpp.h:42, from RcppSparse.h:1, from Module.cpp:1: /home/bates/R/x86_64-unknown-linux-gnu-library/2.14/Rcpp/include/Rcpp/vector/Vector.h: In constructor ‘Rcpp::Matrix<RTYPE>::Matrix(const Rcpp::Dimension&) [with int RTYPE = 14]’: RcppSparse.h:110:31: instantiated from here /home/bates/R/x86_64-unknown-linux-gnu-library/2.14/Rcpp/include/Rcpp/vector/Vector.h:640:7: error: ‘void Rcpp::Vector<RTYPE>::init() [with int RTYPE = 14]’ is private /home/bates/R/x86_64-unknown-linux-gnu-library/2.14/Rcpp/include/Rcpp/vector/Matrix.h:49:3: error: within this context make: *** [Module.o] Error 1 I can program around this problem by generating the Rcpp::NumericMatrix from the number of rows and number of columns but I would class the behavior of the constructor mentioned earlier as at least an "infelicity" (to use Bill Venables' term). _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel