У меня проблема с конструктором, который выглядит как
MyModel :: MyModel (const Rcpp :: NumericVector & ModelData) в приведенном ниже коде.
Это выдает новую ошибку на моей новой версии Mac (clang7 с R 3.6.0) выдает без ошибок с windows и без ошибок с более старыми (<= 3.0.?) Версия R на mac </strong>.
Полагаю, я делаю что-то не так, что раньше давало только предупреждение, и теперь это ошибка Кто-нибудь может помочь? (Я разместил это в списке рассылки Rcpp)
Ниже приведены код и ошибка.
code='
#include <Rcpp.h>
using namespace Rcpp;
class MyModel{ public: MyModel(const Rcpp::NumericVector& ModelData) {};};
RCPP_MODULE(MyModel){
Rcpp::class_<MyModel>(\"MyModel\")
.constructor<const Rcpp::NumericVector &>()
;
}'
sourceCpp(code=code)
В файле из файла 5a40416569b1.cpp: 2:
В файл включен из /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp.h:27:
В файл включен из /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/RcppCommon.h:168:
В файл включен из /Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/as.h:25:
/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/internal/Exporter.h:31:30: error: ссылочный член 't' привязывается к временному объекту, время жизни которого будет короче чем время жизни построенного объекта
Экспортер (SEXP x): t (x) {}
^
/ Библиотека / Каркасы / R.framework / Версии / 3.6 / Ресурсы / Библиотека / Rcpp / include / Rcpp / as.h: 87: 41: примечание: при создании функции-члена 'Rcpp :: traits :: Exporter & > :: Экспортер 'запрашивается здесь
:: Rcpp :: traits :: Exporter exporter (x);
^
/ Библиотека / Каркасы / R.framework / Версии / 3.6 / Ресурсы / Библиотека / Rcpp / include / Rcpp / as.h: 152: 26: note: в экземпляре специализации шаблона функции 'Rcpp :: internal :: as &> 'запрашивается здесь
вернуть внутреннюю :: как (х, типовое имя черты :: r_type_traits :: r_category ());
^
/ Библиотека / Каркасы / R.framework / Версии / 3.6 / Ресурсы / Библиотека / Rcpp / include / Rcpp / module / Module_generated_Constructor.h: 47: 27: note: в экземпляре специализации шаблона функции 'Rcpp :: as & > 'запрашивается здесь
вернуть новый класс (as (args [0]));
^
/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Rcpp/include/Rcpp/module/Module_generated_class_constructor.h:99:29: примечание: в экземпляре функции-члена 'Rcpp :: Constructor_1 &> :: get_new 'запрашивается здесь
AddConstructor (новый Constructor_1, действительный, строка документа);
^
file5a40416569b1.cpp: 7: 6: примечание: при создании экземпляра шаблона функции специализация 'Rcpp :: class _ :: constructor &>' запрашивается здесь
.конструктор()
^
/ Библиотека / Каркасы / R.framework / Версии / 3.6 / Ресурсы / Библиотека / Rcpp / include / Rcpp / internal / Exporter.h: 35: 9: note: объявленный здесь элемент ссылки
Т т;
^
1 ошибка сгенерирована.
make: *** [file5a40416569b1.o] Ошибка 1
/ usr / local / clang7 / bin / clang ++ -Wall -
I "/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -
I "/Library/Frameworks/R.framework/Versions/ 3.6 / Resources / library / Rcpp / include "-
I" /private/var/folders/zt/7cz1y9md79l_h08bbqymt4w9z8xlw7/T/RtmpZZ6sit/sourceCpp-x86_64-apple-darwin15.6.0-1.0.1 * 10 38 -isro /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -
I / usr / local / include -fPIC -Wall -g -O2 -c file5a40416569b1.cpp -o file5a40416569b1.o
Ошибка в sourceCpp (code = code):
Ошибка 1 при создании общей библиотеки.