//尝试改了一下,看看是不是你想要的。#include #include #include #include #include //增加头文件setusing std::map;using std::vector;using std::set;int main(){ vector data{ 45, 78, 98, 65, 32, 55, 64, 12, 54, 78, 56 }; map::iterator, int> mymap;//decltype(data[0])的类型是int& 这里应该想要int for (auto it = data.begin(); it != data.end(); ++it) mymap[it] = *it; for (auto &e : mymap) std::cout << *e.first << " " << e.second << std::endl;//输出一个vector::iterator没意义吧?是想输出值? return 0;}