头文件定义报错:error redefinition of 'xxx'
typedef struct wzmedia_echo_state
{char *obj_name;
unsigned samples_per_frame;
void *state;
short lat_ready; /* lat_buf has been filled in. */
struct frame lat_buf; /* Frame queue for lattency playback */
short *frm_buf;
unsigned int lat_time;
unsigned int played_time;
}wzmedia_echo_state;
重复定义错误,头文件修改后:
#ifndef _COMMON
#define _COMMON
typedef struct wzmedia_echo_state
{char *obj_name;
unsigned samples_per_frame;
void *state;
short lat_ready; /* lat_buf has been filled in. */
struct frame lat_buf; /* Frame queue for lattency playback */
short *frm_buf;
unsigned int lat_time;
unsigned int played_time;
}wzmedia_echo_state;
#endif
本文介绍了一种常见的编程问题——头文件重复定义,并提供了解决方案。通过使用预处理器指令,可以有效避免结构体等类型在多次包含时引发的重复定义错误。
2万+

被折叠的 条评论
为什么被折叠?



