0

如何c++17在 std::vectors 上的范围 for 循环中访问值和索引?

#include <vector>
#include <iostream>

int main()
{
    std::vector<double> v{4.1,5.2,0.11,0.34};
    for(auto &&[x, idx]: v)
        std::cout<<"v["<<idx<<"]: "<<x<<std::endl;
    return 0;
}

我的代码失败

main.cpp:7:13: error: cannot decompose non-array non-class type ‘double’
  for(auto &&[x, idx]: v)
             ^~~~~~~~

g++ -std=c++17 main.cpp -lstdc++

版本:

gcc 版本 7.1.0 (Ubuntu 7.1.0-10ubuntu1~16.04.york0)

4

0 回答 0