2010-07-19 35 views
-1

如何在C++中使用RCPP_MODULE(yada)。 我的C++程序給出錯誤,如果我使用R/C++接口

const char* hello(std::string who){ 
std::string result("hello ") ; 
result += who ; 
return result.c_str() ; 
} 

RCPP_MODULE(yada) 
{ 
using namespace std; 
function("hello", &hello) ; 
}; 

錯誤是:
1.錯誤1錯誤C2065:矢田':未聲明的標識符
2.錯誤2錯誤C2448: 'RCPP_MODULE':函數式初始化器似乎是一個函數定義

任何人都可以幫助我解決這些錯誤?

+2

什麼是RCPP_MODULE?我應該知道嗎? – sbi 2010-07-19 14:06:51

+0

我認爲這是一個「R到CPP」的事情。 http://dirk.eddelbuettel.com/code/rcpp.html – Roddy 2010-07-19 14:44:57

+1

交叉發佈:http://www.wilmott.com/messageview.cfm?catid=10&threadid=78305 – Shane 2010-07-20 11:25:44

回答

1

RCPP_MODULE的點是將C++暴露給R

您需要包括R.hRdefines.h和國家using namespace Rcpp;

+0

沒有r.h和Rdefines.h庫。 – user395882 2010-07-20 02:05:47

+0

當我包含R.h,Rdefines.H和使用命名空間Rcpp時,我得到錯誤。 對於使用命名空間錯誤是:錯誤:「使用命名空間」中的意外符號 – user395882 2010-07-20 04:52:48

3

RCPP不使用Visual Studio的工作,請參閱問題2.7 Rcpp FAQ