一个关于map的初始化问题 c++

我在看cocos源码是 遇到的 关于map初始化的问题 ,我没见过 然后我仿照写了个 都是错的 不明白为什么? 求大神

typedef struct myFiexl 
{
    myFiexl(int r,int g, int b) :m_r(r),m_g(g),m_b(b){}

    int m_r;
    int m_g;
    int m_b;

}Fiexl;
typedef map<string, Fiexl>          FiexlMap;
typedef FiexlMap::value_type        FiexlVal;
FiexlMap  myFielmap;
FiexlVal  myFielSum[] = {

    FiexlVal("red",Fiexl(0,255,0)),
    FiexlVal("black",Fiexl(255,255,255)),
    FiexlVal("green",Fiexl(255,0,0)),

};

myFielmap(myFielSum, myFielSum+sizeof(myFielSum)/sizeof(myFielSum[0])); 

先看是什么错误,一般是参数类型等不一致

是的 问题是 它得怎么不错我的就错

贴出完整的代码和错误来,你定义的这些类是否存在,typedef struct myFiexl 从哪里继承的

myFielmap(myFielSum, myFielSum+sizeof(myFielSum)/sizeof(myFielSum[0])); 把这句用insert插入,map好像不支持用迭代器的方式初始化(没试过),通过insert肯定是可以的

map(first,end)构造函数是对的
可能是你的编译平台不支持吧?c11或c99的区别