rcpp 中的编译错误
Compile error in rcpp
当我在 Rcpp 中编译下面的代码时,我在名为 stl_algobase.h 的文件中收到以下错误:
`no type named 'value_type' in 'struct std::iterator_traits<Rcpp::Vector<14, Rcpp::PreserveStorage> >'`
我正在使用标准类型声明,所以我不清楚值类型
在哪里不正确。代码如下:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::plugins(cpp11)]]
#include <cstddef> // std:size_t
#include <iterator> // std:begin, std::end
#include <vector> // std::vector
#include <iostream>
#include <string>
// [[Rcpp::export]]
bool dupCheckRcpp (const Rcpp::NumericVector vec, const Rcpp::NumericMatrix allMatrix) {
int i, nrow, ncol;
bool flag;
nrow = allMatrix.nrow(); ncol = allMatrix.ncol();
Rcpp::NumericVector vecTmp(ncol);
flag = false;
for (i = 0; i < nrow; ++i) {
// copy to vector
vecTmp = allMatrix[i];
// compare
if (std::equal(vec.begin(),vec.end(),vecTmp)) {
flag = true;
return flag;
}
}
return flag;
}
感谢您的帮助
当你调用std::equal
你需要传递迭代器,而不是整个容器。 http://en.cppreference.com/w/cpp/algorithm/equal
改变
if (std::equal(vec.begin(),vec.end(),vecTmp)) {
自
if (std::equal(vec.begin(),vec.end(),vecTmp.begin())) {
相关文章:
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- std::is_base_of表示ctor编译错误
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- Qt5:使用QCommandLineParser类时出现奇怪的编译错误
- Qt Cmake 错误编译"GuiSupportQt not found"
- Opengl 精度转换错误编译错误 E0415
- 库将ARM架构错误编译为架构X64
- RT 音频 Mac 错误 g++ 编译错误
- 错误编译Boost.log
- 错误编译QT创建者 / QT窗口小部件示例
- 错误编译MIPS32
- Visual Studio 2013 中的错误(编译和运行代码)
- 链接错误编译qt项目在visual 2010
- 无法用模板错误编译nsgmls
- 奇怪的错误.编译失败
- 如果有人调用c++中的方法,则强制错误(编译时)
- 来自autoconf测试的错误编译命令
- 时间限制超出错误C++编译
- SFML 2.3 和 CodeBlocks 错误编译