我收到一个“错误:重新定义”符号,即使我之前在文件中使用了相同的语法,

问题描述

我正在为单元测试创​​建一个函数存根(用于函数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的建议