使用struct中的自定义类初始化地图

时间:2016-01-11 14:22:22

标签: c++ c++11 stdmap

我在map中有以下struct

struct X {
    std::map<double, Color> colorMap
};

我无法从结构内部初始化map,尤其是因为Color类。

我尝试过以下方法:

std::map<double, Color> max_speed_color_map = {{0.5, Color()}, {1, Color()}, {1.5, Color()}, {2, Color()});

但是我收到了这个错误:

error: C2797: 'colorMap': list initialization inside member initializer list or non-static data member initializer is not implemented

1 个答案:

答案 0 :(得分:0)

根据@ PiotrSkotnick的回答,解决方案是在结构构造函数中声明地图:

X() : colorMap({{0.5, Color()}, {1, Color()}}) : {}