问题描述
我正在为单元测试创建一个函数存根(用于函数foo_print_stats()),并编写了以下代码:
static void my_foo_stats(foo_fs_t * const fsys) {
return;
}
#undef foo_print_stats
#define foo_print_stats my_foo_stats
我不断收到错误消息“ redefininiton of my_foo_stats”。我试图将名称更改为其他名称,但无济于事。 my_foo_stats的参数与传递给foo_print_stats的参数完全相同。我很困惑,因为我在同一文件中多次使用完全相同的语法,并且都可以正常工作。
解决方法
意识到最初定义函数的文件已包含在我试图重新定义该文件的下面。感谢@Tom Karzes的建议