Chamar uma função do c ++ via ambiente Rcpp

Estou pensando em chamar uma função R do c ++ via ambiente, mas recebi um erro, aqui está o que fiz

#include <Rcpp.h>
using namespace Rcpp;



// [[Rcpp::export]]
NumericVector call(NumericVector x){
  Environment env = Environment::global_env();
  Function f = env["fivenum"];
  NumericVector res = f(x);
  return res;
}

Tipocall(x), é isso que eu tenho,

Error: cannot convert to function

Eu sei que posso fazer certo de outra maneira,

#include <Rcpp.h>

using namespace Rcpp;

// [[Rcpp::export]]
NumericVector callFunction(NumericVector x, Function f) {
    NumericVector res = f(x);
    return res;
}

e tipo

callFunction(x,fivenum)

Mas ainda me pergunto por que o primeiro método falhou.

questionAnswers(1)

yourAnswerToTheQuestion