Skip to content
Back to formatted view

Raw Message

Message-ID: <CAAA3642-81B6-4372-908F-9BA90193FDC4@r-enthusiasts.com>
Date: 2011-06-02T10:10:12Z
From: Romain Francois
Subject: [Rcpp-devel] Constructor for templated Rcpp::Matrix class from Rcpp::Dimension fails
In-Reply-To: <BANLkTi=HC_=+E_osK7f2qTo6OB=qFJ2_rw@mail.gmail.com>

Thanks. 

Making init protected instead of private in Vector.h solved it for me. 

I cant commit the fix from the eurostar.

Romain



Le 1 juin 2011 ? 21:36, Douglas Bates <bates at stat.wisc.edu> a ?crit :

> 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 at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel