C++ 我需要帮助,同时插入一个整数和一个结构集的映射

C++ 我需要帮助,同时插入一个整数和一个结构集的映射,c++,dictionary,set,C++,Dictionary,Set,代码是: #include <map> #include <utility> typedef struct { int d_number; int o_number; } d_o_pair; std::set<d_o_pair> d_o_set; std::map<int, d_o_set> my_map; } #包括 #包括 类型定义结构 { int d_数; 整数; }d____对; std::集合d___集合; 映射我的地

代码是:

#include <map>
#include <utility>

typedef struct
{
   int d_number;
   int o_number;
} d_o_pair;

std::set<d_o_pair> d_o_set;
std::map<int, d_o_set> my_map;

}
#包括
#包括
类型定义结构
{
int d_数;
整数;
}d____对;
std::集合d___集合;
映射我的地图;
}
我想插入地图。但是我不能


。我是这样使用的:this->my_map[5]。insert(make_pair(0,2))。编译器向我抛出一个错误,告诉我没有与insert调用匹配的函数。下面的示例代码告诉我们inserting into map。要插入设置,需要重载',请尝试以下操作

#include <map>
#include <set>
#include <utility>

typedef std::pair<int, int> d_o_pair;
typedef std::set<d_o_pair> d_o_set;

int main()
{
    std::map<int, d_o_set> my_map;
    my_map[5].insert( std::make_pair( 0, 2 ) );
}
#include <map>
#include <set>
#include <utility>

typedef struct d_o_pair
{
    int d_number;
    int o_number;
    bool operator <( const d_o_pair &rhs ) const
    {
        return d_number < rhs.d_number || ( !( rhs.d_number < d_number ) && ( o_number < rhs.o_number ) );
    }        
} d_o_pair;

typedef std::set<d_o_pair> d_o_set;

int main()
{
    std::map<int, d_o_set> my_map;
    my_map[5].insert( { 0, 2 } );
}
#包括
#包括
#包括
typedef std::对d_o_对;
typedef std::set d_o_set;
int main()
{
映射我的地图;
my_映射[5]。插入(std::make_对(0,2));
}
或以下

#include <map>
#include <set>
#include <utility>

typedef std::pair<int, int> d_o_pair;
typedef std::set<d_o_pair> d_o_set;

int main()
{
    std::map<int, d_o_set> my_map;
    my_map[5].insert( std::make_pair( 0, 2 ) );
}
#include <map>
#include <set>
#include <utility>

typedef struct d_o_pair
{
    int d_number;
    int o_number;
    bool operator <( const d_o_pair &rhs ) const
    {
        return d_number < rhs.d_number || ( !( rhs.d_number < d_number ) && ( o_number < rhs.o_number ) );
    }        
} d_o_pair;

typedef std::set<d_o_pair> d_o_set;

int main()
{
    std::map<int, d_o_set> my_map;
    my_map[5].insert( { 0, 2 } );
}
#包括
#包括
#包括
类型定义结构d___对
{
int d_数;
整数;

bool运算符您的问题到底是什么?代码似乎非常不完整,例如结尾处的右大括号不匹配。请发布完整且格式良好的代码。此外,描述问题可以帮助他人帮助您。问题在哪里,您遇到了什么错误?从何处开始()功能?最好避免使用除宏以外的所有大写标识符,因为按照惯例,宏应该专门使用。当您将它们用于普通非宏标识符时(1)会误导读者,使他们认为这些是宏,(2)由于与现有宏的名称冲突,可能会出现意外的文本替换,以及(3)源代码看起来像是S H O U T I N G。我想插入到映射中。但我无法插入。我是这样使用的:this->my_map[5]。插入(make_pair(0,2))。编译器提示没有函数与调用匹配时出错insert@Atul如果你的编译器支持C++ 2011,那么代码就被编译了。试试你自己。同样奇怪的是,你被标记为最好的答案,没有关于STD的回答::在你的问题中设置STD::SET。