c静态初始化地图

前端之家收集整理的这篇文章主要介绍了c静态初始化地图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我有一个地图myMap,我试图静态初始化(必须这样做).

我正在做以下事情:

myMap = 
{
    {415,{1,52356,2}},{256,{356,23,6}},//...etc
};

但是我收到以下错误:“数组初始化程序必须是初始化程序列表.”

我上面的语法有什么问题?

解决方法

你应该使用数组< float,3>而不是“普通”arrray:
#include <map>
#include <array>
#include <iostream>

int main()
{
    std::map<float,std::array<float,3>> myMap
    {
        {415,3>{1,3>{356,6}}
        //...etc
    };

    /* OR 

    std::map<float,{{1,2}}},{{356,6}}}
        //...etc
    };

    */

    std::cout << myMap[415][0] << " " << myMap[256][1] << " " << std::endl;

    return 0;
}
原文链接:https://www.f2er.com/c/444629.html

猜你在找的C&C++相关文章