C++ 迭代器不会迭代整个贴图

C++ 迭代器不会迭代整个贴图,c++,c++11,dictionary,iterator,C++,C++11,Dictionary,Iterator,我有以下功能: void send_sequence_to_device( std::map<const string_t,device_t*> &msg2device_p, std::vector<response_t>& result_list, ushort num_attempts) { cout<<"sarit enter to send_seq_device"<<endl;

我有以下功能:

   void send_sequence_to_device( std::map<const string_t,device_t*> &msg2device_p, std::vector<response_t>& result_list, ushort num_attempts)
    {
        cout<<"sarit enter to send_seq_device"<<endl;
        std::map<const string_t, device_t*>::iterator msg_itf;
        for( msg_itf=msg2device_p.begin(); msg_itf!=msg2device_p.end(); msg_itf++ )
        {
            cout<<"sarit enter to seq "<<msg_itf->first<<endl;
        }
    }
 void node_layer_manager_t::calc_ts_job_function()
    {
        vector<response_t> res;
        map<const string_t, device_t*> getRegMsg={{"get_node_ts_est",&tx},{"get_node_ts_est",&rx},{"get_tx_num_clk_ts",&tx}};
        cout<< "sarit ts clk function nlm first"<<endl;
        send_sequence_to_device(getRegMsg,res);
    }
我希望:

sarit enter to seq get_node_ts_est

sarit enter to seq get_node_ts_est

sarit enter to get_tx_num_clk_ts
std::map不允许重复键

您的两个值具有相同的键,因此只有其中一个将进入映射

如果需要重复键,请使用std::multimap而不是std::map。

std::map不允许重复键

您的两个值具有相同的键,因此只有其中一个将进入映射

如果需要重复的键,请使用std::multimap而不是std::map。

传递给send_sequence_to_设备函数的setRegMsg的定义在哪里?你知道它的用途吗?传递给send_sequence_to_设备函数的setRegMsg的定义在哪里?你知道它的用途吗?
sarit enter to seq get_node_ts_est

sarit enter to seq get_node_ts_est

sarit enter to get_tx_num_clk_ts