c++ - 从常量变量复制 vector

标签 c++

我正在编写一个需要遵循以下接口(interface)的函数:

double logDensity(double x, PDFType type,
                  std::vector<std::vector<double const *> > const &parameters,
                  double const *lower, double const *upper) const;

我需要将那个 parameters vector 拆分成这个函数内的两个 vector :

vector<double> f = (parameters[0]);
vector<double> t = (parameters[1]);

但是这段代码导致我出现这些错误消息:

DPwexp.cc: In member function 'double pwexponential::DPwexp::logDensity(double, PDFType, const std::vector<std::vector<const double*> >&, const double*, const double*) const':
DPwexp.cc:38:38: error: conversion from 'const std::vector<const double*>' to non-scalar type 'std::vector<double>' requested
 vector<double> f = (parameters[0]);
                                  ^

将这两个 vector 复制到函数内的新变量的最佳方法是什么?

谢谢!

最佳答案

如果参数由 const& 传递,则不打算在函数内部更改它们。为什么您需要复制它们?该原型(prototype)假设您将使用参数值而不更改。

const vector<double const*>& f = (parameters[0]);
const vector<double const*>& t = (parameters[1]);

关于c++ - 从常量变量复制 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31932859/

相关文章:

c++ - SDL2 丢失 OpenGL 上下文或函数未定义

c++ - webkit 最好的 c++ 包装器是什么?用于静态链接(不是 QWebkit)

C++0x 静态初始化和线程安全

C++,以下代码的计算顺序

c++ - 片段着色器输出不受旋转影响

c++ - 数组-遍历辅助数组

c++ - 为什么 boost::multi_array 的 ConstMultiArrayConcept 有一个 NumDims 模板参数?

C# 等效于 C++ vector ,具有连续内存?

c++ - Malloc、指针和变量

c++ - 如何通过NodeMCU从网络获取数据