在结构中使用自定义 class 初始化地图

Initialize map with custom class inside struct

我在 struct 中有以下 map

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

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

我试过以下方法:

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

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

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