3

こんにちは、boost::unordered_map にレコードを挿入しようとしています

マップは次のように定義されます

boost::unordered_map<int,Input> input_l1_map;

入力はクラスです

class Input {

        int id;
        std::string name;
        std::string desc;
        std::string short_name;
        std::string signal_presence;
        std::string xpnt;
        }

以下のように関数を使用してレコードを挿入します

void RuntimeData::hash_table(int id,Input input)
{

  this->input_l1_map.insert(id,input);

}

コンテナーにデータを挿入する関数と書かれているブーストのドキュメントを読みましたinsert()が、コンパイルするとエラーが表示されます。

4

3 に答える 3

1

insert は、次のように定義されている value_type を取ります。

typedef std::pair<Key const, Mapped> value_type;

void RuntimeData::hash_table(int id,Input input)
{

  this->input_l1_map.insert(std::make_pair(id,input));

}
于 2013-04-05T12:25:07.557 に答える