Я пытаюсь вернуть карту с C++ на r. Мой код в C++ заключается в следующем (как найдено в https://github.com/RcppCore/Rcpp/blob/master/inst/unitTests/cpp/wrap.cpp):Rcpp map return
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
IntegerVector map_string_int(){
std::map< std::string, int > m ;
m["b"] = 100;
m["a"] = 200;
m["c"] = 300;
return wrap(m);
}
Мой г код следующим образом:
require(Rcpp)
Rcpp::sourceCpp(test.cpp')
map_string_int()
Хотя код компилируется без каких-либо ошибок, когда я вызвать функцию, мой сеанс r немедленно прекращается. Любые идеи?
[EDIT]
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Portuguese_Portugal.1252
[2] LC_CTYPE=Portuguese_Portugal.1252
[3] LC_MONETARY=Portuguese_Portugal.1252
[4] LC_NUMERIC=C
[5] LC_TIME=Portuguese_Portugal.1252
attached base packages:
[1] stats graphics grDevices utils datasets
[6] methods base
other attached packages:
[1] Rcpp_0.11.3
loaded via a namespace (and not attached):
[1] tools_3.1.1
Этот код работает для меня без проблем. Можете ли вы добавить вывод 'sessionInfo()'? – nrussell
Добавлен sessionInfo()! – SwatchPuppy
Это странно - он работает для меня на двух разных платформах: «R версия 3.0.2/Rcpp 0.11.2/64-разрядная версия ubuntu-linux' и« R 3.1.1/Rcpp 0.11.3/64-bit redhat- linux'. Я не уверен, в чем проблема, но я бы сказал, если вы не получите ответа здесь, вы должны перенести свой вопрос в [рассылку Rcpp list] (http: //lists.r-forge.r-project. орг/почтальон/listinfo/rcpp-Devel). – nrussell