2016-11-25 56 views
0

编译器返回(近初始化为 'test_value [2]。单元')默认情况下启用]错误:近初始化为typedef结构阵列

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

    foo test_value = { 

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

为什么会出现这种情况?

回答

0

这解决了这个问题:

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

    foo test_value = { 

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

但是,如果仍然有人可以解释这更好的请!