海湾合作委员会警告:标量初始化牙套 [英] gcc warning: braces around scalar initializer

查看:129
本文介绍了海湾合作委员会警告:标量初始化牙套的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有查询表如下定义,我利用GCC的。当我编译我得到警告视为

 警告:标量初始化牙套

这是什么意思的警告?我应该如何初始化该LUT?我在初始化此结构犯了一个错误?

帮助!


  typedef结构TECH
{    浮velocity1,velocity2;
    浮温度;
    浮措施;    INT ID;
    浮动储存[64];} TECH;结构TECH lut_model_1 [2] = {{{296.001465}
        {} 74.216972,
        {} 2.025908,
        {} 1.516384,
        {1},
        {0.001746,
        0.000256,0.006216,0.005249,-0.001668,-0.001377,0.009865,0.010454,-0.000288,-0.005853,0.010584,0.015440,0.000465,-0.000602,0.004330,0.005700,0.017120,
        0.233015,0.034154,0.244022,0.007644,0.385683,0.042960,0.406633,-0.007811,0.346931,0.040123,0.387361,0.007030,0.225309,0.017897,0.241024,0.003700,
        0.103601,0.060748,0.121059,-0.045041,0.076974,0.070647,0.148810,-0.022399,0.074007,0.054797,0.141794,0.010376,0.052482,0.045013,0.078443,-0.019940,
        -0.057353,0.044285,0.066622,-0.058232,-0.093817,0.064753,0.126611,-0.008286,-0.085634,0.029582,0.140443,0.009189,-0.052974,0.036057,0.087536}},        {{} 309.270569,
        {} 74.520226,
        {} 2.088673,
        {} 1.595730,
        {1},
        {-0.003261,
        0.001452,0.006673,0.007092,0.001020,0.002904,0.009037,0.009587,-0.001494,0.000296,0.009327,0.010013,-0.000301,-0.002727,0.005875,0.008888,-0.016850,
        0.231185,0.029758,0.241629,0.009411,0.382748,0.057553,0.407984,-0.019496,0.393691,0.045355,0.411033,-0.019787,0.185746,0.027101,0.216863,0.010189,
        0.050463,0.041380,0.059462,0.009747,0.093188,0.089831,0.132579,-0.049612,0.058789,0.075130,0.122026,-0.022185,0.017041,0.035450,0.074255,-0.002068,
        -0.061219,0.040752,0.087084,-0.013021,-0.106098,0.066566,0.140099,-0.041966,-0.073433,0.055231,0.125908,-0.003481,-0.050690,0.017257,0.085251}}};


解决方案

您应该删除括号: {} 围绕单个值。

 结构TECH lut_model_1 [2] = {{296.001465,
        74.216972,
        2.025908,
        1.516384,
        1,
        {0.001746,
        0.000256,0.006216,0.005249,-0.001668,-0.001377,0.009865,0.010454,-0.000288,-0.005853,0.010584,0.015440,0.000465,-0.000602,0.004330,0.005700,0.017120,
        0.233015,0.034154,0.244022,0.007644,0.385683,0.042960,0.406633,-0.007811,0.346931,0.040123,0.387361,0.007030,0.225309,0.017897,0.241024,0.003700,
        0.103601,0.060748,0.121059,-0.045041,0.076974,0.070647,0.148810,-0.022399,0.074007,0.054797,0.141794,0.010376,0.052482,0.045013,0.078443,-0.019940,
        -0.057353,0.044285,0.066622,-0.058232,-0.093817,0.064753,0.126611,-0.008286,-0.085634,0.029582,0.140443,0.009189,-0.052974,0.036057,0.087536}},        {309.270569,
        74.520226,
        2.088673,
        1.595730,
        1,
        {-0.003261,
        0.001452,0.006673,0.007092,0.001020,0.002904,0.009037,0.009587,-0.001494,0.000296,0.009327,0.010013,-0.000301,-0.002727,0.005875,0.008888,-0.016850,
        0.231185,0.029758,0.241629,0.009411,0.382748,0.057553,0.407984,-0.019496,0.393691,0.045355,0.411033,-0.019787,0.185746,0.027101,0.216863,0.010189,
        0.050463,0.041380,0.059462,0.009747,0.093188,0.089831,0.132579,-0.049612,0.058789,0.075130,0.122026,-0.022185,0.017041,0.035450,0.074255,-0.002068,
        -0.061219,0.040752,0.087084,-0.013021,-0.106098,0.066566,0.140099,-0.041966,-0.073433,0.055231,0.125908,-0.003481,-0.050690,0.017257,0.085251}}};

将给予警告。

I have look-up-table as defined below and I'm making use of GCC. When I compile I get warnings as

warning: braces around scalar initializer

What does this warning mean? How should I initialize this LUT? Am I making a mistake in initializing this structures?

Help!!


typedef struct TECH
{

    float velocity1, velocity2;
    float temp;
    float measure;

    int id;
    float storage[64];

}TECH;

struct TECH lut_model_1[2] = {{{296.001465},
        {74.216972},
        {2.025908},
        {1.516384},
        {1},
        {0.001746,
        0.000256, 0.006216, 0.005249, -0.001668, -0.001377, 0.009865, 0.010454, -0.000288, -0.005853, 0.010584, 0.015440, 0.000465, -0.000602, 0.004330, 0.005700, 0.017120,
        0.233015, 0.034154, 0.244022, 0.007644, 0.385683, 0.042960, 0.406633, -0.007811, 0.346931, 0.040123, 0.387361, 0.007030, 0.225309, 0.017897, 0.241024, 0.003700,
        0.103601, 0.060748, 0.121059, -0.045041, 0.076974, 0.070647, 0.148810, -0.022399, 0.074007, 0.054797, 0.141794, 0.010376, 0.052482, 0.045013, 0.078443, -0.019940,
        -0.057353, 0.044285, 0.066622, -0.058232, -0.093817, 0.064753, 0.126611, -0.008286, -0.085634, 0.029582, 0.140443, 0.009189, -0.052974, 0.036057, 0.087536}},

        {{309.270569},
        {74.520226},
        {2.088673},
        {1.595730},
        {1},
        {-0.003261,
        0.001452, 0.006673, 0.007092, 0.001020, 0.002904, 0.009037, 0.009587, -0.001494, 0.000296, 0.009327, 0.010013, -0.000301, -0.002727, 0.005875, 0.008888, -0.016850,
        0.231185, 0.029758, 0.241629, 0.009411, 0.382748, 0.057553, 0.407984, -0.019496, 0.393691, 0.045355, 0.411033, -0.019787, 0.185746, 0.027101, 0.216863, 0.010189,
        0.050463, 0.041380, 0.059462, 0.009747, 0.093188, 0.089831, 0.132579, -0.049612, 0.058789, 0.075130, 0.122026, -0.022185, 0.017041, 0.035450, 0.074255, -0.002068,
        -0.061219, 0.040752, 0.087084, -0.013021, -0.106098, 0.066566, 0.140099, -0.041966, -0.073433, 0.055231, 0.125908, -0.003481, -0.050690, 0.017257, 0.085251}}};

解决方案

You should remove the braces: { and } around single values.

struct TECH lut_model_1[2] = {{296.001465,
        74.216972,
        2.025908,
        1.516384,
        1,
        {0.001746,
        0.000256, 0.006216, 0.005249, -0.001668, -0.001377, 0.009865, 0.010454, -0.000288, -0.005853, 0.010584, 0.015440, 0.000465, -0.000602, 0.004330, 0.005700, 0.017120,
        0.233015, 0.034154, 0.244022, 0.007644, 0.385683, 0.042960, 0.406633, -0.007811, 0.346931, 0.040123, 0.387361, 0.007030, 0.225309, 0.017897, 0.241024, 0.003700,
        0.103601, 0.060748, 0.121059, -0.045041, 0.076974, 0.070647, 0.148810, -0.022399, 0.074007, 0.054797, 0.141794, 0.010376, 0.052482, 0.045013, 0.078443, -0.019940,
        -0.057353, 0.044285, 0.066622, -0.058232, -0.093817, 0.064753, 0.126611, -0.008286, -0.085634, 0.029582, 0.140443, 0.009189, -0.052974, 0.036057, 0.087536}},

        {309.270569,
        74.520226,
        2.088673,
        1.595730,
        1,
        {-0.003261,
        0.001452, 0.006673, 0.007092, 0.001020, 0.002904, 0.009037, 0.009587, -0.001494, 0.000296, 0.009327, 0.010013, -0.000301, -0.002727, 0.005875, 0.008888, -0.016850,
        0.231185, 0.029758, 0.241629, 0.009411, 0.382748, 0.057553, 0.407984, -0.019496, 0.393691, 0.045355, 0.411033, -0.019787, 0.185746, 0.027101, 0.216863, 0.010189,
        0.050463, 0.041380, 0.059462, 0.009747, 0.093188, 0.089831, 0.132579, -0.049612, 0.058789, 0.075130, 0.122026, -0.022185, 0.017041, 0.035450, 0.074255, -0.002068,
        -0.061219, 0.040752, 0.087084, -0.013021, -0.106098, 0.066566, 0.140099, -0.041966, -0.073433, 0.055231, 0.125908, -0.003481, -0.050690, 0.017257, 0.085251}}};

will give no warning.

这篇关于海湾合作委员会警告:标量初始化牙套的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆