错误:typedef结构数组的近初始化

时间:2016-11-25 08:10:27

标签: struct initialization typedef

编译器返回 (接近初始化'test_value [2] .unit')[默认启用]

    typedef struct foo {
        unsigned char unit[10];
        unsigned int  read_value;
    };

    foo test_value = {

        {"km",      100 },
        {"miles",   50  },
        {0,         20  }
    };

为什么会这样?

1 个答案:

答案 0 :(得分:0)

这解决了这个问题:

    typedef struct foo {
        unsigned char *unit;
        unsigned int  read_value;
    };

    foo test_value = {

        {"km",      100 },
        {"miles",   50  },
        {0,         20  }
    };

但是,如果还有,有人可以更好地解释一下吗?拜托!