1
我已经写在C以下代码:C编译器无意义的错误?
n. struct UDSData {
char *name;
char *address;
};
n. char UDS1[16] = "fill up sixteen", UDS2[16] = "fill up sixteen";
n. while (something) {
...
108. char UDS1Temp[16], UDS2Temp[16];
109. strcpy(UDS1Temp, UDS1);
110. strcpy(UDS2Temp, UDS2);
111.
112. struct UDSData item = {UDS1Temp, UDS2Temp};
113. UDSCodes[UDSTotal++] = item;
}
任何想法,为什么代码编译给这些错误:
1><file>(112): error C2143: syntax error : missing ';' before 'type'
1><file>(113): error C2065: 'item' : undeclared identifier
1><file(113): error C2440: '=' : cannot convert from 'int' to 'UDSData'
卸下strcpy()
和输入UDS1
和UDS2
直接进入结构工程。
112行对我没有多大意义,但我没有及时更新C.您使用哪种C标准以及UDSData是哪种类型? – nvoigt 2013-04-10 08:56:09
听起来像编译器没有找到这种类型的'UDSData'。它是否正确定义? ('include头部,没有循环依赖等)? – 2013-04-10 08:57:19
@KirilKirov是的,这种类型是先前定义的。正如我所提到的,如果我用UDS1替换UDS1Temp,并且在结构中用UDS2替换UDS2Temp,它就可以正常工作。 – 2013-04-10 09:00:09