I am trying to open a file within an Rcpp function, so I need the file name as a char* or std::string.
So far, I have tried the following:
#include &
The real issue is that Rcpp::as
requires that you specify the type you want to convert to manually, such as Rcpp::as<std::string>
.
The input of all as
overloads is always a SEXP
so the compiler does not know which one to use and cannot make the decision automatically. that's why you need to help it. Things work differently for wrap
which can use the input type to decide which overload it will use.
Rcpp::as()
expects a SEXP
as input, not a Rcpp::CharacterVector
. Try passing the f1
parameter directly to Rcpp::as()
, eg:
std::string fname = Rcpp::as(f1);
Or:
std::string fname = Rcpp::as<std::string>(f1);