你好
我正面临着我在C头文件中定义了一个结构:
typedef struct iRecActive{
char iRecSID[32];
unsigned char RecStatus;
int curSel;
}iRecAcitve_t;
但是当我在另一个文件中使用相同的结构时,编译器会给出一些错误:
错误C2275:'iRecActive_t':非法使用此类型作为表达式 d:\ project \ project original \ mirec2pc v1.0 \ httpapp \ httpapplication.h(15):参见'iRecActive_t'的声明
如果有人能帮助我,我将不得不承担责任
此致
Umair
答案 0 :(得分:2)
嗯,您可以在问题和代码中检查拼写。您似乎已将其声明为iRecAcitve_t但使用iRecActive_t
答案 1 :(得分:1)
这意味着您已经使用了编译器期望的类型名称......其他内容。
例如:
iRecActive_t *thing = iRecActive_t; // compiler expects new iRecActive_t()
if (iRecActive_t) {} // compiler expects an expression
正如其他人所说,你需要张贴它抱怨的行(httpapplication.h
的第15行)
修改强>
iRecActive_t iRecActiveObj[4];
似乎是合法的,在这种情况下,它可能 之前的那条线让编译器感到困惑。例如:
if (thingOne == // oops
iRecActive_t iRecActiveObj[4];