首页 > 解决方案 > 如何将带有 auto 的语句转换为使用类型的语句

问题描述

我更喜欢使用类型,但是我正在努力使类型正确并在我的代码中的以下自动语句的一行中。

特别是 my_struct.get_map::const_iterator.begin() 行似乎是一个问题。

auto selected_node = std::next(my_struct.get_map.begin(), selected_item_index); // working
std::pair<std::string, std::string> selected_node = std::next(my_struct.get_map::const_iterator.begin(), selected_item_index); // not working

标签: c++c++17

解决方案


你知道如何声明 map 的迭代器吗?用迭代器替换 auto。例如,如果您的地图(get_map 返回)是 map<string,string>,则将 auto 替换为map< string,string >::iterator it


推荐阅读