如何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)