首页 > 解决方案 > 我得到一个“错误:重新定义”符号,即使我在文件前面使用了相同的语法,

问题描述

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

我不断收到错误“my_foo_stats 的重新定义”。我尝试将名称更改为其他名称,但无济于事。my_foo_stats 的参数与传递给 foo_print_stats 的参数完全相同。我很困惑,因为我在同一个文件中多次使用完全相同的语法并且它都有效。

标签: cfunctionunit-testingmacros

解决方案


意识到最初定义函数的文件被包含在我试图重新定义它的下面。感谢@Tom Karzes 的建议


推荐阅读