小编Par*_*wal的帖子

如何从成对的初始化列表构造对象?

在这段代码中,我试图使用pair(int,pair(string,string))的initializer_list初始化类对象,但是在初始化map(int,pair(string,string))类型的类成员map2时遇到错误。

这是我的代码

#include <iostream>
#include <string>
#include <initializer_list>
#include <map>
using namespace std;

class contact{
private:

        map <int,pair<string,string>> map2;

public:

    contact(initializer_list<pair<int,pair<string,string>>> m):map2(m){}
    void display(){
        for (const auto& it:map2){
            cout<<it.first;
        }
    }
};

int main() {
    contact obj{
        make_pair(4,make_pair("parul","agrawal")),
        make_pair(5,make_pair("keshav","agrawal")),
    };

    obj.display();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ stl c++11

4
推荐指数
1
解决办法
191
查看次数

标签 统计

c++ ×1

c++11 ×1

stl ×1