头文件中的 Rcpp 函数默认值

Bog*_*dan 5 r rcpp

我想在头文件中指定Rcpp 函数参数的默认值。所以我有头文件foo.h

#ifndef foo_H
#define foo_H
#include <Rcpp.h>

int foo(int k = 3);

#endif
Run Code Online (Sandbox Code Playgroud)

我还有foo.cpp文件:

#include "foo.h"
#include <Rcpp.h>
using namespace Rcpp;
//'Some description
//'
//' @export
// [[Rcpp::export]]
int foo(int k)
{
  return(k);
}
Run Code Online (Sandbox Code Playgroud)

我编译该包并使用 R 中的此函数:

foo()
Run Code Online (Sandbox Code Playgroud)

然后我收到错误“参数“k”丢失,没有默认值”,而我期望返回 3。

请帮助我们弄清楚如何在头文件中定义 Rcpp 默认值。

将非常感谢您的帮助!

PS我只需要在头文件中指定默认值,而不是在任何其他地方。我很清楚如何在 .cpp 中指定默认值,但我需要在 .h 中指定它们。