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

标签 c++ objective-c ios5 vector xcode4

我对 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/

相关文章:

iphone - 如何强制 iCloud 与核心数据同步?

ios - 在生产模式下的设备上进行测试时如何查看 NSLog 语句?

c++ - 有符号/无符号比较和 -Wall

c++ - 如果原始源代码行无法编译,是否可以让模板选择备用源代码行?

objective-c - 传递一个简单的 NSMutableArray 更改原始值

ios - 在不同类的方法中获取 NSURLConnection 响应(来自辅助类)

iOS - 如何从 Controller 重定向到新屏幕?

c++ - 发生泄漏检查错误时如何使cuda-memcheck返回非零

c++ - 第一次用户输入后此代码将不起作用

objective-c - 如何将此 subview 推送到它自己的子类中?