On 2013-02-07, at 10:15 AM, Kevin Ushey wrote:
> One trick to get around this is to 'as' the entire CharacterVector into a
> std::vector< std::string >, and then index based off of that.
>
> My guess is though, elements of CharacterVectors are 'const char*' s, so to
> convert them to strings you might want to just use std::string constructor,
> eg. std::string( xs(0) ).
That used to work with 0.10.0, but when I upgraded this morning to 0.10.2,
gives me the following compile error:
rcppdb.cpp:131: error: no matching function for call to
'std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string(SEXPREC* const&)'
/usr/include/c++/4.2.1/bits/basic_string.tcc:233: note: candidates are:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string(typename
_Alloc::rebind<_CharT>::other::size_type, _CharT, const _Alloc&) [with _CharT =
char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.2.1/bits/basic_string.tcc:226: note:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const
_Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc =
std::allocator<char>]
/usr/include/c++/4.2.1/bits/basic_string.tcc:219: note:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*,
typename _Alloc::rebind<_CharT>::other::size_type, const _Alloc&) [with _CharT
= char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.2.1/bits/basic_string.tcc:208: note:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const
std::basic_string<_CharT, _Traits, _Alloc>&, typename
_Alloc::rebind<_CharT>::other::size_type, typename
_Alloc::rebind<_CharT>::other::size_type, const _Alloc&) [with _CharT = char,
_Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.2.1/bits/basic_string.tcc:197: note:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const
std::basic_string<_CharT, _Traits, _Alloc>&, typename
_Alloc::rebind<_CharT>::other::size_type, typename
_Alloc::rebind<_CharT>::other::size_type) [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.2.1/bits/basic_string.tcc:183: note:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const
std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.2.1/bits/basic_string.tcc:191: note:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with
_CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
/usr/include/c++/4.2.1/bits/basic_string.h:2065: note:
std::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char,
_Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
make: *** [rcppdb.o] Error 1
Perhaps this is caused by the same bug, introduced somewhere post-0.10.0.
Davor
_______________________________________________
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