没有用于调用'fopen'的匹配函数

时间:2015-11-03 04:12:59

标签: fopen rcpp

我想在我的cpp函数中调用fopen,但是,Rcpp总是抱怨“没有匹配函数来调用'fopen'”。 因此,与https://github.com/hadley/xml2/blob/9362d379e126a86091af8698a8987c51b5b230fe/src/xml2_doc.cpp中的某些代码完全重复并​​仍然存在相同的错误。

#include <Rcpp.h>
using namespace Rcpp;

// [[Rcpp::export]]
void doc_write(std::string path){
  FILE* f = fopen(path.c_str(), 'r');
  fclose(f);
}

,错误是:

testc.cpp:6:36: error: invalid conversion from 'char' to 'const char*' [-fpermissive]

有人能给我一些暗示吗?

1 个答案:

答案 0 :(得分:4)

错误消息告诉您需要知道的所有内容 - 您尝试传递char参数,其中const char *是必需的。
'r'替换为应修复它的"r"