【发布时间】:2011-03-24 01:37:06
【问题描述】:
我遇到了一个奇怪的问题,我在 C 头文件中定义了一个结构:
typedef struct iRecActive{
char iRecSID[32];
unsigned char RecStatus;
int curSel;
}iRecAcitve_t;
但是当我在另一个文件中使用相同的结构时,即使我仔细检查了是否包含了它的头文件,编译器也无法识别该结构。以下是错误:
:错误 C2065:“iRecActive_t”:未声明的标识符
以下是我定义结构的文件的完整代码
#ifndef _TS_HTTP_APPLICATION_H_
#define _TS_HTTP_APPLICATION_H_
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct iRecActive{
char iRecSID[32];
unsigned char RecStatus;
int curSel;
}iRecAcitve_t;
int startHTTPServer(int HTMLserverPort);
int closeHTTPServer();
int openTS_SegmenterN();
void pushTSDataN(unsigned char* TSData, int len);
void closeTS_SegmenterN();
void removeAllConnections();
#ifdef __cplusplus
}
#endif
#endif
【问题讨论】:
-
请注意,您不应为自己的类型/结构/类使用
_t后缀。 -
最好为 typedef 标签和结构本身使用不同的名称。