我们在 Rcpp 函数中创建以下数据框:
Rcpp::DataFrame res =
Rcpp::DataFrame::create(
Rcpp::Named("A")=a
,Rcpp::Named("B")=b
,Rcpp::Named("C")=c
,Rcpp::Named("D")=d
,Rcpp::Named("E")=e
,Rcpp::Named("F")=f
,Rcpp::Named("G")=g
,Rcpp::Named("H")=h
,Rcpp::Named("I")=i
,Rcpp::Named("J")=j
,Rcpp::Named("K")=k
,Rcpp::Named("L")=l
,Rcpp::Named("M")=m
,Rcpp::Named("N")=n
,Rcpp::Named("O")=o
,Rcpp::Named("P")=p
,Rcpp::Named("Q")=q
,Rcpp::Named("R")=r
,Rcpp::Named("S")=s
,Rcpp::Named("T")=t
,Rcpp::Named("U")=u
);
此数据框旨在作为返回的结果。但是由于以下错误,它无法编译:
error: no matching function for call to Rcpp::DataFrame_Impl<Rcpp::PreserveStorage>::create
In file included from local/lib64/R/library/Rcpp/include/Rcpp/DataFrame.h:97:0,
from local/lib64/R/library/Rcpp/include/Rcpp.h:57,
from file54f121e6a937.cpp:1:
local/lib64/R/library/Rcpp/include/Rcpp/generated/DataFrame_generated.h:142:23: note: template<class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19, class T20> static Rcpp::DataFrame_Impl<StoragePolicy> Rcpp::DataFrame_Impl<StoragePolicy>::create(const T1&, const T2&, const T3&, const T4&, const T5&, const T6&, const T7&, const T8&, const T9&, const T10&, const T11&, const T12&, const T13&, const T14&, const T15&, const T16&, const T17&, const T18&, const T19&, const T20&) [with T1 = T1; T2 = T2; T3 = T3; T4 = T4; T5 = T5; T6 = T6; T7 = T7; T8 = T8; T9 = T9; T10 = T10; T11 = T11; T12 = T12; T13 = T13; T14 = T14; T15 = T15; T16 = T16; T17 = T17; T18 = T18; T19 = T19; T20 = T20; StoragePolicy = Rcpp::PreserveStorage]
static DataFrame_Impl create( const T1& t1, const T2& t2, const T3& t3, const T4& t4, const T5& t5, const T6& t6, const T7& t7, const T8& t8, const T9& t9, const T10& t10, const T11& t11, const T12& t12, const T13& t13, const T14& t14, const T15& t15, const T16& t16, const T17& t17, const T18& t18, const T19& t19, const T20& t20 ) {
^
local/lib64/R/library/Rcpp/include/Rcpp/generated/DataFrame_generated.h:142:23: note: template argument deduction/substitution failed:
file54f121e6a937.cpp:771:7: note: candidate expects 20 arguments, 21 provided
它适用于 20 个参数。我们如何克服这个问题?谢谢