【发布时间】:2016-07-06 10:21:11
【问题描述】:
我有这个结构:
struct ChangeIntItem
{
char *unit;
const char **parser;
int *changevalue;
uint16_t *change_eeprom_value;
int maximum;
int minimum;
};
我想用这个结构变量初始化其他变量:
struct ChangeIntItem ChangeIntItemTypeBoolean = { .unit = "", .minimum = 0, .maximum = 1, .parser = {"off", "on"}};
它工作正常,但我收到一些警告:
Severity Code Description Project File Line
Warning braces around scalar initializer Handsteuerung C:\Users\... 11
Severity Code Description Project File Line
Warning (near initialization for 'ChangeIntItemTypeBoolean.parser') Handsteuerung C:\Users\... 11
Severity Code Description Project File Line
Warning initialization from incompatible pointer type Handsteuerung C:\Users\... 11
Severity Code Description Project File Line
Warning (near initialization for 'ChangeIntItemTypeBoolean.parser') Handsteuerung C:\Users\... 11
Severity Code Description Project File Line
Warning excess elements in scalar initializer Handsteuerung C:\Users\... 11
Severity Code Description Project File Line
Warning (near initialization for 'ChangeIntItemTypeBoolean.parser') Handsteuerung C:\Users\... 11
在另一种情况下,我编写了一个函数,它将结构的变量设置为默认值,但我更喜欢这种方法,因为它更短。
所有由 '.parser = {"off", "on"}' 引起的错误,但我不明白我的错误...
【问题讨论】:
标签: c struct initialization warnings