gpt4 book ai didi

c++ - 从 vector 中获取浮点值

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:15 25 4
gpt4 key购买 nike

我对 C++ 的经验很少或没有,所以这个问题听起来很奇怪,问题是我有一个包含浮点值的 std::vector,我想通过迭代从中提取浮点值。

vector 的定义代码如下:

template <typename T, size_t feature_number>
T vector_distance(const boost::array<T, feature_number>& v1,
const boost::array<T, feature_number>& v2);

template <typename T = double, size_t feature_number=3>
class CLASSNAME
{
public:
typedef boost::array<T, feature_number> FeatureVector;
typedef std::vector<FeatureVector> Features;
...

我正在按以下方式使用它:

FeatureTypeDTW::Features mfcc_features_a = METHODTHATRETURNSVECTOR();

for (int s = 0; s < (int) mfcc_features_a.size(); s++)
{
float MYFLOAT = mfcc_features_a[s];
}

但是我得到的编译错误是:

No viable conversion from 'boost::array (float, 7)' to 'float'

关于如何转换的任何提示??

最佳答案

mfcc_features_a类型为 Features ,这是一个 vectorFeatureVector ;后者又是 boost::array<T, feature_number> 的别名.

简而言之,您正在尝试分配 boost::array<T, feature_number>float .现在,假设模板参数 T对于 FeatureTypeDTWfloat (或可转换为 float 的东西)这应该有效。

float MYFLOAT = mfcc_features_a[s][0];  // assigns first element of boost::array
// to MYFLOAT

关于c++ - 从 vector 中获取浮点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15698395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com