如果我想在不使用包含保护的情况下避免重新声明错误,那么依赖树必须是这样的基本规则:仅一棵或多棵树。
任何时候可以通过两种不同的方式联系到父母,就会发生违规行为?
例如:
declarations.h 包括 string.h
data.h 包括 declarations.h
data.c 包括 data.h
ui.c 包括 data.h 和 string.h
这会产生一个重新声明错误,因为 ui.c 和包含 string.h 有两种不同的方式:直接和通过 data.h。因此,该结构不是树,因为 ui.c 有多个路径到同一个父级。
有没有办法让多个路径到同一个父级并且不会出现重新声明错误?